Говоря о текстовых редакторах, мы сразу представляем корифея, как 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 имела свои недостатки, например:
Некоторые из них были исправлены в версии 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 в генераторе отчетов
Говоря об офисных документах нельзя не вспомнить и об отчетности. Современные генераторы отчетов обязаны поддерживать экспорт отчетов в самые популярные форматы документов. Например, генератор отчетов FastReport.Net поддерживает экспорт в форматы docx и odt. Причем экспорт «заточен» на корректное отображение в первую очередь в нативном текстовом процессоре.
Так выглядит оригинальный отчет, который мы будем экспортировать в оба этих формата:
Давайте сделаем экспорт отчета в формат Microsoft Word (docx):
Вот, как он выглядит в MS Word:
А это экспорт в формат odt при просмотре в MS Word:
Экспорт в DOCX почему-то имеет мелкие шрифты внутри таблиц, но рамка соответствуют оригинальному отчету.
ODT оказался ближе к оригиналу по размеру шрифтов, но рамки никуда не годятся. Обратите внимание, что Word открыл odt с несколько худшим форматированием, чем OO Writer.
Также, как отображение документов одного формата в разных программах не одинаково, так же и генератор отчетов преобразует отчет в разные форматы по-разному.
Из всего вышерассмотренного можно сделать вывод, что даже использование одного формата не даст одинаково выглядящего документа в разных текстовых процессорах из-за разной реализации. Поэтому лучше использовать текстовый редактор с нативным форматом и не зацикливаться на универсальности.