Формат .docx¶
Формат .docx — это формат файлов для хранения текстовых документов, основанный на открытом стандарте Office Open XML (OOXML). Является основным форматом для текстового процессора Microsoft Word, начиная с версии 2007 года. Файлы с расширением .docx представляют собой ZIP-архив, содержащий XML-файлы, ресурсы (изображения, шрифты) и метаданные. Формат пришёл на смену проприетарному бинарному формату .doc, который использовался в версиях Microsoft Word до 2003 года включительно.
¶История
¶Предпосылки создания
К середине 2000-х годов бинарный формат .doc (Microsoft Word Binary File Format) исчерпал возможности для дальнейшего развития. Он был закрытым, плохо документированным и подверженным повреждению данных. Конкурирующие форматы, такие как OpenDocument (ODF) от OASIS, набирали популярность, особенно в государственном секторе Европы. Microsoft столкнулась с необходимостью создать открытый, стандартизированный и расширяемый формат.
¶Разработка и стандартизация
В 2005 году Microsoft представила спецификации Office Open XML (OOXML) международному консорциуму Ecma International. В декабре 2006 года Ecma приняла OOXML как стандарт Ecma-376. В 2008 году Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) утвердили его как стандарт ISO/IEC 29500:2008. Процесс стандартизации сопровождался спорами и критикой со стороны сторонников ODF, которые указывали на избыточность и неоднозначность спецификаций, а также на доминирующее положение Microsoft.
¶Внедрение в Microsoft Office
Формат .docx был впервые представлен в составе Microsoft Office 2007. Пользователи более ранних версий (Office 2000, XP, 2003) могли устанавливать пакет совместимости (Microsoft Office Compatibility Pack) для открытия, редактирования и сохранения документов в новом формате. Начиная с Office 2010, .docx стал форматом по умолчанию, а поддержка старого бинарного .doc была сохранена для обратной совместимости.
¶Структура и устройство
Формат .docx базируется на концепции открытого ZIP-архива. Файл .docx можно переименовать в .zip и распаковать любым архиватором, после чего внутри обнаруживаются следующие основные компоненты:
¶Основные части архива
- [Content_Types].xml — файл, описывающий типы содержимого (MIME-типы) для всех частей архива. Обязателен для всех ZIP-архивов OOXML.
- \_rels/.rels — файл отношений, определяющий связи между частями архива (например, связь между основным документом и стилями).
- word/document.xml — основной файл с содержимым документа (текст, таблицы, разметка). Написан на XML в соответствии со схемой WordprocessingML.
- word/styles.xml — файл, содержащий определения стилей оформления (заголовки, абзацы, шрифты, цвета).
- word/media/ — папка, содержащая все встроенные изображения, видео и другие медиафайлы.
- **word/header.xml и word/footer.xml** — файлы колонтитулов (верхних и нижних).
- word/footnotes.xml и word/endnotes.xml — сноски и концевые сноски.
- word/settings.xml — настройки документа (поля, ориентация страницы, защита).
- word/numbering.xml — настройки нумерации списков.
- docProps/ — папка с метаданными (автор, дата создания, статистика).
¶XML-разметка
Основной документ (word/document.xml) использует теги из пространства имён w: (WordprocessingML). Например:
<w:p>— абзац (paragraph).<w:r>— фрагмент текста (run).<w:t>— текст (text).<w:tbl>— таблица.<w:body>— тело документа.
Такая структура позволяет программно обрабатывать документы, извлекать текст, менять форматирование без использования Microsoft Word.
¶Ключевые особенности и преимущества
¶Открытость и стандартизация
Формат .docx является открытым международным стандартом (ISO/IEC 29500). Это означает, что любой разработчик может создать программу для чтения или записи файлов .docx без лицензионных отчислений. На практике это привело к появлению множества сторонних решений (библиотеки, конвертеры, офисные пакеты).
¶Сжатие и восстановление
Поскольку .docx является ZIP-архивом, все данные внутри сжимаются. Размер файла .docx в среднем в 2–3 раза меньше, чем аналогичный файл в формате .doc. При повреждении ZIP-архива часть данных (например, изображения) может быть восстановлена, в то время как бинарный .doc при малейшем повреждении часто становится нечитаемым целиком.
¶Поддержка расширенных возможностей
Формат поддерживает:
- сложные стили и темы оформления;
- встроенные объекты (диаграммы, SmartArt, формулы);
- макросы (в формате .docm — отдельный вариант с поддержкой макросов);
- пользовательские XML-части;
- цифровые подписи и шифрование.
¶Совместимость и поддержка
¶Microsoft Office
Формат .docx полностью поддерживается в Microsoft Word 2007 и всех последующих версиях. Документы, созданные в более новых версиях (например, Office 2019, 365), могут содержать элементы, несовместимые с Word 2007 (например, новые типы диаграмм или шрифты).
¶Сторонние офисные пакеты
- LibreOffice и OpenOffice — поддерживают чтение и запись .docx, но могут иметь проблемы с точным отображением сложного форматирования (особенно в версиях до 7.x).
- Google Docs — поддерживает импорт и экспорт .docx, но при конвертации могут теряться некоторые элементы (например, некоторые типы колонтитулов или макросы).
- WPS Office — имеет высокую степень совместимости с .docx.
- Pages (Apple) — поддерживает импорт, но при экспорте в .docx может изменять форматирование.
¶Онлайн-сервисы
Большинство облачных сервисов (Microsoft 365, Яндекс.Документы, Zoho Docs) поддерживают .docx как основной формат для редактирования.
¶Недостатки и критика
¶Размер и сложность
Несмотря на сжатие, файлы .docx могут быть большими из-за дублирования данных и избыточности XML-разметки. Например, при многократном копировании одного и того же изображения оно может сохраняться несколько раз.
¶Проблемы с обратной совместимостью
Документы, созданные в Word 2019 или 365, могут некорректно отображаться в Word 2007 или в сторонних программах. Это связано с использованием новых функций (например, SVG-изображений, новых типов диаграмм).
¶Зависимость от Microsoft
Хотя формат открыт, его спецификация очень объёмна (тысячи страниц). Реализация полной поддержки .docx в сторонних программах технически сложна, что приводит к неполной совместимости. На практике многие пользователи вынуждены использовать Microsoft Word для корректного отображения сложных документов.
¶Безопасность
Файлы .docx (как и .doc) могут содержать макросы (в формате .docm). Макросы могут быть использованы для распространения вредоносного ПО. Современные версии Microsoft Word блокируют выполнение макросов из интернета по умолчанию.
¶Применение
Формат .docx является де-факто стандартом для деловой переписки, академических работ и официальных документов во многих странах, включая Россию. Он используется в государственных учреждениях, образовательных организациях, бизнесе. В России формат .docx поддерживается в рамках требований к электронному документообороту, хотя для государственных нужд часто предписывается использование формата ODF (OpenDocument).
¶Интересные факты
- Файл .docx можно открыть любым архиватором (7-Zip, WinRAR) и просмотреть его содержимое, включая скрытые комментарии и удалённый текст, если он не был полностью удалён из XML.
- Стандарт ISO/IEC 29500 включает две версии: строгую (Strict) и переходную (Transitional). Microsoft Word использует переходную версию, которая включает некоторые элементы из старого формата .doc.
- В 2010 году компания Microsoft выпустила спецификацию формата .docx под лицензией Open Specification Promise, что позволяет использовать её без опасений патентных претензий.
¶Источники
- ISO/IEC 29500-1:2016 — Information technology — Document description and processing languages — Office Open XML File Formats — Part 1: Fundamentals and Markup Language Reference.
- Ecma International. Standard ECMA-376 — Office Open XML File Formats.
- Microsoft Corporation. Office Open XML Overview. MSDN Library.
- ГОСТ Р ИСО/МЭК 29500-1-2012 — Информационная технология. Форматы файлов Office Open XML. Часть 1. Основы и язык разметки.
- Статья «Office Open XML» в Википедии (русскоязычная версия).