Как создать odt файл

Обновлено: 04.07.2024

Файлы можно открывать и сохранять в формате презентации OpenDocument (ODP), который используется в некоторых приложениях презентаций, например Apache OpenOffice Impress и LibreOffice Impress.

Открытие файла презентации OpenDocument в PowerPoint

Откройте вкладку Файл.

Чтобы просмотреть только файлы, сохраненные в формате OpenDocument, в списке Тип файла выберите пункт Презентация OpenDocument.

Щелкните файл, который требуется открыть, и нажмите кнопку Открыть.

Совет: Чтобы открыть найденный файл, дважды щелкните его.

Примечание: При открытии презентации OpenDocument в PowerPoint ее форматирование может отличаться от форматирования в приложении, в котором она был создана. Это вызвано различиями между приложениями, в которых используется формат OpenDocument.

Сохранение презентации PowerPoint в формате презентации OpenDocument

Важно: Чтобы сохранить версию файла для PowerPoint, сначала сохраните файл в формате PowerPoint, например как PPTX-файл, а затем повторно сохраните его в формате презентации OpenDocument (ODP).

Откройте вкладку Файл.

Выберите команду Сохранить как.

В списке Тип файла выберите вариант Презентация OpenDocument.

Введите имя файла и сохраните его.

Дополнительные сведения о формате OpenDocument

При открытии или сохранении презентаций в формате OpenDocument Presentation (ODP) форматирование может быть частично потеряно. Это вызвано тем, что приложения OpenDocument Presentation и PowerPoint поддерживают различные возможности и параметры, такие как форматирование.

Поддерживаемые функции в . Формат ODP

В приведенной ниже таблице показано, какие функции приложения полностью или частично поддерживаются форматом OpenDocument (ODP), а какие — совсем не поддерживаются.

Поддерживается. Как формат PowerPoint, так и формат презентации OpenDocument поддерживают эту функцию. Содержимое и форматирование не будут потеряны, а удобство использования не снизится.

Частично поддерживается Как формат PowerPoint, так и формат презентации OpenDocument поддерживают эту функцию, однако возможно повреждение форматирования и снижение удобства использования. Текст и данные не будут потеряны, однако форматирование и способ работы с текстом, графикой или другими компонентами документа могут различаться.

Не поддерживается. Эта функция не поддерживается в формате OpenDocument. Если вы планируете сохранить презентацию в формате OpenDocument, не используйте эти функции.

Эффекты анимации, не поддерживаемые форматом ODF, преобразуются в анимацию появления и исчезновения.

Анимация с изменением цвета

Анимация с масштабированием

Анимации "Взрыв", "Кратковременное расширение", "Изменение размера" и "Высота по вертикали" не поддерживаются.

Говоря о текстовых редакторах, мы сразу представляем корифея, как Microsoft Word, который на многие годы занял пьедестал среди офисных приложений. И хотя, его первая версия появилась еще в 1986 году для платформы IBM, настоящую популярность он получил в девяностые уже среди пользователей Windows. Как и все продукты компании Microsoft в те времена, Word имел свой собственный закрытый формат документов DOC. Однако монополия на формат doc многих не устаивала, и на волне развития движения open source в 2000-ые появился альтернативный текстовый процессор с открытым форматом odt. В 2006-ом он получил международный стандарт ISO/IEC 26300.

И не смотря на множество негатива в его сторону, он получил популярность среди любителей программного обеспечения с открытым исходным кодом. Но попасть на рынок корпоративных клиентов этому формату все же не удалось. Слишком долго Microsoft был доминирующим продуктом в сфере офисного ПО. Огромное количество документов было создано в формате doc и огромное количество пользователей было обучено работе с Word.

Тем не менее, Microsoft пришлось ответить на появление нового открытого формата, и в версии MS Office 2007 появляется новый открытый формат DOCX. Назначение его ничем не отличается от DOC, но по своей сути это уже совсем другой формат, использующий принципы ODT. В это же время Microsoft снял завесу таинства со своего уже устаревающего формата DOC. Более того, в последующих версиях, MS Word уже поддерживал и ODT. Но и посессорные продукты не остались в стороне. Сейчас уже любой «уважающий себя» текстовый процессор поддерживает все три формата.

Теперь давайте немного подробнее рассмотрим каждый из этих форматов.

Формат DOC

Его название — это не аббревиатура, а сокращение от document. Этот формат появился еще в начале 90х и до сих пор остается в строю. Хотя в 2007 году он потерял актуальность в связи с появлением нового, целевого формата docx. Тем не менее, после раскрытия спецификаций этого формата в 2007ом, его стали поддерживать все современные текстовые процессоры, потому что к этому моменту накопилось огромное количество документов doc.

Его внутреннее устройство довольно сложное и представляет собой целую файловую систему. Это двоичный файл, и открыть его можно только в специальном текстовом процессоре, таком как MS Word или OpenOffice Text. Формат doc позволяет хранить внутри документа изображения, мультимедиа и другие файлы, но главное его достоинство – поддержка каскадных стилей.

Этот формат расширяет возможности rtf и позволяет использовать каскадные стили, таблицы, разметку листа, макросы, форматирование документа, изображения, диаграммы, различные метаданные. Таким образом, он покрывает большинство потребностей пользователей для электронных документов.

Формат ODF

Как уже говорилось выше, этот формат был создан альтернативой doc. Над созданием стандарта трудилось множество организаций, входивших в сообщество OASIS. И в 2006 году был принят его стандарт ISO/IEC 26300.

Документ основан на языке разметки XML, помещенный в ZIP архив. Помимо самого документа в архив включены файлы, на которые ссылается документ (рисунки), метаданные и др. Но благодаря использованию архивации, файл формата odf получается очень легковесным, по сравнению с doc. Раз уж мы говорим о текстовом процессоре, то правильным будет говорить odt, а не odf. Ведь ODF отписывает целое семейство форматов: для текстового процессора - odt, для табличного процессора ods, для электронных презентаций – odp.

Нативным (разработанным именно для него) офисным решением, созданным под формат ODF считается OpenOffice. Также, как и Microsoft Office он включает в себя целый набор офисных программ для работы с: текстом, таблицами, презентациями, векторной графикой, базой данных и формулами.

Ранее мы уже отмечали, что формат ODT поддерживают множество текстовых процессоров, как MS Word, так и опен сорс решения LibreOffice, OpenOffice, и бесплатный Google Document.

Естественно, первая генерация формата ODF 1.0 имела свои недостатки, например:

  • Нет описания спецификации макросов;
  • Нет описания применения цифровых подписей, хотя офисный пакет позволяет их использовать;
  • В презентации нельзя вставлять таблицы, хотя MS PowerPoint это позволяет;
  • Нет стандарта языка формул.

Некоторые из них были исправлены в версии 1.2. Однако основным недостатком по мнению пользователей является невозможность корректно воспроизводить документы формата doc, созданные ранее в MS Office. То есть они, конечно, открываются, но выглядят не так, как в нативной программе. А ведь к моменту появления OpenOffice большинство электронных документов было именно в формате doc. Но с форматом docx дела обстоят значительно лучше.

Так или иначе, но Microsoft Office практически не уступил своих позиций на рынке, а благодаря появлению открытого формата docx завоевал доверие сторонников open source.

Формат DOCX

Формат DOCX, он же Office Open XML, он же Microsoft Open XML, он же Office Open XML. Был создан в 2007 году в ответ на появление открытого ODF и использует тот же принцип создания файла – zip архив, в который помещается xml самого документа и файлы, на которые ссылается документ (изображения), а также файлы с метаданными. Преимуществом перед ODF можно назвать мощный бэкенд в виде MS Office. Миллионы пользователей не хотели бы отказываться от удобного инструмента ради перехода на бесплатный формат. А ведь закрытый формат doc обязывал корпоративных клиентов платить немало денег Американской корпорации. Таким образом, Microsoft сохранил своих клиентов, которые «поглядывали» в сторону ODF.

DOCX стандартизирован: он пользуется спецификациями ECMA-376, ISO/IEC 295000 Transitional и ISO/IEC 29500 Strict.

Сравнение

И если формат doc конструктивно отличается от docx, то docx и odt по сути братья. Оба они представляют собой zip-контейнеры с xml документами внутри. Каждый из них имеет свои плюсы и минусы. Но оба они превосходят формат doc хотя бы по критерию размер файла. Благодаря архивированию содержимого документа, размер файла получается значительно меньше – в 2-3 раза в зависимости от количества мультимедиа и графического контента.

Какой же из двух форматов предпочесть, docx или odt. Хотя текстовые процессоры обеспечивают поддержку форматов конкурентов, все же их отображение отличается не в лучшую сторону от оригинала. Поэтому нельзя сказать, что есть универсальное решение для всех форматов. Придется выбирать формат из сферы применения. Если речь идет о крупных предприятиях, которые использовали раньше MS Office, то очевидно, они имеют большой архив документов в формате doc да и обмен документами с другими предприятиями производится скорее всего в формате docx. Никто лучше MS Word не сможет отображать документы в собственных форматах, по крайней мере на текущий момент. В таком случае предпочтительно и впредь использовать MS Word, с форматом docx.

Если ваша цель уйти от платного офисного программного обеспечения и вас не сильно беспокоит совместимость форматов, то odt вполне способен заменить и doc, и docx. Многие крупные предприятия уже перешли на OpenOffice, а значит эта задача вполне посильная.

DOCX и ODT в генераторе отчетов

Так выглядит оригинальный отчет, который мы будем экспортировать в оба этих формата:

Original report looks like

Давайте сделаем экспорт отчета в формат Microsoft Word (docx):

Docx export menu

Вот, как он выглядит в MS Word:

Docx export looks like in MS Word

А это экспорт в формат odt при просмотре в MS Word:

ODT export looks like in MS Word

Экспорт в DOCX почему-то имеет мелкие шрифты внутри таблиц, но рамка соответствуют оригинальному отчету.

ODT оказался ближе к оригиналу по размеру шрифтов, но рамки никуда не годятся. Обратите внимание, что Word открыл odt с несколько худшим форматированием, чем OO Writer.

Также, как отображение документов одного формата в разных программах не одинаково, так же и генератор отчетов преобразует отчет в разные форматы по-разному.

Из всего вышерассмотренного можно сделать вывод, что даже использование одного формата не даст одинаково выглядящего документа в разных текстовых процессорах из-за разной реализации. Поэтому лучше использовать текстовый редактор с нативным форматом и не зацикливаться на универсальности.

Файлы можно открывать и сохранять в формате OpenDocument Text (ODT), который используется в некоторых текстовых процессорах.

Открытие текстового файла OpenDocument в Word

Откройте вкладку Файл.

Чтобы увидеть только файлы, сохраненные в формате OpenDocument, щелкните список типов файлов рядом с полем Имя файла и выберите текст OpenDocument.

Щелкните файл, который требуется открыть, а затем нажмите кнопку Открыть.

Совет: Чтобы открыть файл, можно также дважды щелкнуть его.

Примечание: При открытии текста OpenDocument в Word его форматирование может отличаться от форматирования в приложении, в котором он был создан. Это вызвано различиями между приложениями, в которых используется формат OpenDocument.

Сохранение документа Word в формате OpenDocument Text

Важно: Если требуется сохранить версию файла для Word, сначала сохраните файл в формате Word, например как DOCX-файл, а затем повторно сохраните его в формате OpenDocument Text (ODT).

Откройте вкладку Файл.

Выберите пункт Сохранить как.

В списке Тип файла выберите вариант Текст OpenDocument.

Придайте файлу имя и сохраните его.

Дополнительные сведения о формате OpenDocument

При открытии или сохранении документов в формате OpenDocument Text (ODT) форматирование может быть частично потеряно. Это вызвано тем, что приложения OpenDocument Text и Word поддерживают различные возможности и параметры, такие как форматирование. Дополнительные сведения о различиях между форматами OpenDocument Text и Word см. в статье Различия между форматами OpenDocument Text (ODT) и Word (DOCX).

Советы

Перед отправкой файла другому пользователю рекомендуется закрыть файл и открыть его повторно, чтобы просмотреть, как он выглядит в формате OpenDocument Text (ODT).

Открытие текстового файла OpenDocument в Word

Откройте вкладку Файл.

Чтобы увидеть только файлы, сохраненные в формате OpenDocument, щелкните список типов файлов рядом с полем Имя файла и выберите текст OpenDocument.

Щелкните файл, который требуется открыть, а затем нажмите кнопку Открыть.

Совет: Чтобы открыть файл, можно также дважды щелкнуть его.

Примечание: При открытии текста OpenDocument в Word его форматирование может отличаться от форматирования в приложении, в котором он был создан. Это вызвано различиями между приложениями, в которых используется формат OpenDocument.

Сохранение документа Word в формате OpenDocument Text

Важно: Если требуется сохранить версию файла для Word, сначала сохраните файл в формате Word, например как DOCX-файл, а затем повторно сохраните его в формате OpenDocument Text (ODT).

Откройте вкладку Файл.

Выберите пункт Сохранить как.

В списке Тип файла выберите вариант Текст OpenDocument.

Придайте файлу имя и сохраните его.

Дополнительные сведения о формате OpenDocument

При открытии или сохранении документов в формате OpenDocument Text (ODT) форматирование может быть частично потеряно. Это вызвано тем, что приложения OpenDocument Text и Word поддерживают различные возможности и параметры, такие как форматирование. Дополнительные сведения о различиях между форматами OpenDocument Text и Word см. в статье Различия между форматами OpenDocument Text (ODT) и Word (DOCX).

Советы

Перед отправкой файла другому пользователю рекомендуется закрыть файл и открыть его повторно, чтобы просмотреть, как он выглядит в формате OpenDocument Text (ODT).

Открытие текстового файла OpenDocument в Word

Откройте вкладку Файл.

Чтобы увидеть только файлы, сохраненные в формате OpenDocument, в списке Тип файла выберите текст OpenDocument.

Щелкните файл, который требуется открыть, а затем нажмите кнопку Открыть.

Совет: Чтобы открыть файл, можно также дважды щелкнуть его.

Примечание: При открытии текста OpenDocument в Word его форматирование может отличаться от форматирования в приложении, в котором он был создан. Это вызвано различиями между приложениями, в которых используется формат OpenDocument.

Сохранение документа Word в формате OpenDocument Text

Важно: Если требуется сохранить версию файла для Word, сначала сохраните файл в формате Word, например как DOCX-файл, а затем повторно сохраните его в формате OpenDocument Text (ODT).

Откройте вкладку Файл.

Выберите пункт Сохранить как.

В списке Тип файла выберите вариант Текст OpenDocument.

Введите имя файла и сохраните его.

Дополнительные сведения о формате OpenDocument

При открытии или сохранении документов в формате OpenDocument Text (ODT) форматирование может быть частично потеряно. Это вызвано тем, что приложения OpenDocument Text и Word поддерживают различные возможности и параметры, такие как форматирование. Дополнительные сведения о различиях между форматами OpenDocument Text и Word см. в статье Различия между форматами OpenDocument Text (ODT) и Word (DOCX).

Советы

Перед отправкой файла другому пользователю рекомендуется закрыть файл и открыть его повторно, чтобы просмотреть, как он выглядит в формате OpenDocument Text (ODT).

Важно: Office 2007 больше не поддерживается. Перейдите на Microsoft 365, чтобы работать удаленно с любого устройства и продолжать получать поддержку.

Для использования этих выпуск 2007 системы Microsoft Office пакет обновления 2 (SP2) необходимо установить пакет обновления 2 (SP2).

Открытие файла OpenDocument Text в Word

В списке Тип файла выберите значение OpenDocument Text.

Щелкните файл, который требуется открыть, а затем нажмите кнопку Открыть.

Примечание: При открытии файла OpenDocument Text в Word 2007 его форматирование может отличаться от форматирования в приложении, в котором он был создан. Это вызвано различиями между приложениями, в которых используется формат OpenDocument.

Сохранение документа Word в формате OpenDocument Text

Важно: Если требуется сохранить версию файла для Word, сначала сохраните файл в формате Word, например как DOCX-файл, а затем повторно сохраните его в формате OpenDocument Text (ODT).

Выберите пункт OpenDocument Text.

Дополнительные сведения о формате OpenDocument

При открытии или сохранении документов в формате OpenDocument Text (ODT) форматирование может быть частично потеряно. Это вызвано тем, что приложения OpenDocument Text и Word 2007 поддерживают различные возможности и параметры, такие как форматирование. Дополнительные сведения о различиях между форматами OpenDocument Text и Word 2007 см. в документе Различия между форматами OpenDocument Spreadsheet (ODS)и Excel для Windows (.xlsx).

Советы

Перед отправкой файла другому пользователю рекомендуется закрыть файл и открыть его повторно, чтобы просмотреть, как он выглядит в формате OpenDocument Text (ODT).

Как-то раз передо мной стояла задача реализовать генерацию договоров для клиентов с нашего корпоративного сайта.
Сначала задача была решена просто ужасно — был заготовлен html шаблон договора, а пользователю выдавалась конвертация шаблона в pdf. Само собой это выливалось в кучу неудобств, в том числе, если требовалось что-то поменять в договоре.

Следующим решением было генерация odt документа. Это позволило редактировать документ нашим менеджерам независимо от сайта и программистов.
Полностью генерировать с нуля смысла нет. Почему бы не поработать с уже имеющимся файлом (отредактированным в OpenOffice) и просто заменить в нем необходимые элементы?


Создание шаблона в OpenOffice:
Создаем обычный документ odt и в нужных местах вставляем пользовательские переменные:
Меню «Вставка» -> Поля -> Дополнительно
Вкладка «Переменные»
Выбираем «поле пользователя» и добавляем/вставляем поля как показано на изображении.

Сохраняем наш файл. В моем примере это файл test.odt.

Загружаем файл на сервер:
ODT как и любой ODF файл, как многим наверно известно, является обычным ZIP архивом.

//путь к временному архиву
$tmpfile = 'upload/temp.zip' ;

//сохраняем полученный документ
if ( isset ( $_FILES [ 'document' ] ) and move_uploaded_file ( $_FILES [ 'document' ] [ 'tmp_name' ] , $tmpfile ) )

// функция удаления директории
function deleteDirectory ( $dir ) <
if ( ! file_exists ( $dir ) ) return true ;
if ( ! is_dir ( $dir ) || is_link ( $dir ) ) return unlink ( $dir ) ;
foreach ( scandir ( $dir ) as $item ) <
if ( $item == '.' || $item == '..' ) continue ;
if ( ! deleteDirectory ( $dir . "/" . $item ) ) <
chmod ( $dir . "/" . $item , 0777 ) ;
if ( ! deleteDirectory ( $dir . "/" . $item ) ) return false ;
> ;
>
return rmdir ( $dir ) ;
>

// удаляем директорию с содержимым документа и создаем заново
// при желании, можно перемещать старую версию куда-либо, сделав тем самым версионность документа
deleteDirectory ( 'doc/' ) ;
mkdir ( 'doc/' ) ;


// извлекаем архив
$zip = new ZipArchive ;
if ( $zip -> open ( $tmpfile ) === TRUE ) <
// Сохраняем пути к файлам в нужной последовательности
// Это нам понадобится в будущем.
// Например, по требованию формата odf , файл mimetype должен быть первым в архиве.
$files = array ( ) ;
for ( $i = 0 ; $i < $zip -> numFiles ; $i ++ ) <
$files [ ] = $zip -> getNameIndex ( $i ) ;
>
file_put_contents ( "doc.list" , implode ( " \n " , $files ) ) ;

//извлекаем
$zip -> extractTo ( 'doc/' ) ;
$zip -> close ( ) ;
> else <
die ( "zip error" ) ;
>

$print = 'Файл успешно загружен' ;
>
else <
$print = '
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="document"><br>
<input type="submit" value="Загрузить"><br>
</form>' ;
>
print '<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

<title>Загрузка документа</title>
</head>
<body>
' . $print . '
</body>
</html>' ;

При успешной загрузке мы получаем папку с содержимым odt файла и doc.list со списком файлов.

Отдаем измененный файл пользователю:
Нам нужно заменить значения пользовательских полей и сжать все обратно в архив.

//путь к временному файлу
$tmpfile = 'download/doc.odt' ;
//файл, который будем отдавать
$outname = 'zayavlenie.odt' ;


//удаляем старый файл
unlink ( $tmpfile ) ;


//создаем новый архив
$zip = new ZipArchive ;
if ( $zip -> open ( $tmpfile , ZIPARCHIVE :: CREATE ) === TRUE ) <
//проходимся по структуре нашего архива
$files = file ( 'doc.list' ) ;
foreach ( $files as $filename ) <
$filename = trim ( $filename ) ;

//если директория - добавляем ее
if ( is_dir ( 'doc/' . $filename ) ) <
$zip -> addEmptyDir ( $filename ) ;
>
//иначе добавляем файл
else

//если нужный файл, то проводим в нем подстановку пользовательских полей
if ( $filename == "content.xml" )

//значения полей
$vars = array (
'ФИО' => 'Иванова И.И.' ,
'Дата' => date ( 'd.m.Y' ) ,
'Планета' => 'Юпитер'
) ;

//создаем объект simplexml
$xml = new SimpleXMLElement ( file_get_contents ( 'doc/' . $filename ) ) ;

//получаем заранее нужные namespace
$ns = $xml -> getNamespaces ( true ) ;

// две переменные, необходимые для доступа к элементам xml и к атрибутам
$usr = "user-field-decls" ;
$str = "string-value" ;

//проверяем есть ли в файле пользовательские поля
if ( $fields = $xml -> children ( $ns [ "office" ] ) -> body -> text -> children ( $ns [ "text" ] ) -> $usr ) <
//если есть, пробегаемся по ним и заменяем их атрибут string-value на новый
foreach ( $fields -> children ( $ns [ "text" ] ) as $field )

if ( isset ( $vars [ ( string ) $field -> attributes ( $ns [ "text" ] ) -> name ] ) ) <
$field -> attributes ( $ns [ "office" ] ) -> $str = $vars [ ( string ) $field -> attributes ( $ns [ "text" ] ) -> name ] ;
>
>

>
//добавляем в архив
$zip -> addFromString ( $filename , $xml -> asXML ( ) ) ;
>
else <
//добавляем в архив из файла
$zip -> addFile ( 'doc/' . $filename , $filename ) ;
>
>
>


$zip -> close ( ) ;
> else <
die ( "zip error" ) ;
>

//очищаем буфер и выдаем файл
ob_clean ( ) ;

Читайте также: