Формат файла DOCX¶
DOCX — расширение файлов, используемое для документов Microsoft Word, созданных в версии 2007 года и более поздних. Формат основан на стандарте Office Open XML (ISO/IEC 29500) и представляет собой ZIP-архив, содержащий XML-файлы с текстом, стилями, изображениями и метаданными документа. DOCX заменил устаревший бинарный формат DOC, применявшийся в Microsoft Word с 1983 по 2006 год.
¶История
До появления DOCX документы Microsoft Word сохранялись в формате DOC — проприетарном бинарном формате, разработанном в 1983 году для первых версий Word. Со временем формат DOC стал одним из самых распространённых способов хранения текстовых документов, однако его закрытая спецификация вызывала проблемы совместимости с другим программным обеспечением.
В 2006 году Microsoft представила формат Office Open XML, основанный на XML-технологиях и ZIP-компрессии. В 2006–2008 годах стандарт был передан в консорциум Ecma International, а в 2008 году утверждён Международной организацией по стандартизации как ISO/IEC 29500. Расширение .docx соответствует текстовым документам в этом стандарте; аналогичные расширения используются для других типов файлов: .xlsx для таблиц, .pptx для презентаций.
Первая версия Microsoft Word, поддерживающая сохранение в DOCX, — Word 2007. В России и ряде других стран формат DOCX был включён в перечень обязательных форматов для электронных документов в государственных органах, в частности на основании приказа ФАС России, утвердившего перечень форматов электронных документов при предоставлении государственных услуг.
¶Устройство файла
Файл с расширением .docx является ZIP-архивом. При смене расширения на .zip его можно открыть любым архиватором и увидеть внутреннюю структуру:
| Элемент | Назначение |
|---|---|
[Content_Types].xml | Описывает типы содержимого в архиве |
_rels/.rels | Связи корневого пакета |
word/document.xml | Основной текст документа |
word/styles.xml | Стили абзацев и символов |
word/numbering.xml | Настройки нумерованных и маркированных списков |
word/media/ | Встроенные изображения |
word/_rels/document.xml.rels | Связи документа с ресурсами |
docProps/core.xml | Метаданные: автор, дата создания, заголовок |
docProps/app.xml | Сведения о приложении и статистика документа |
Текст документа хранится в формате XML в виде иерархии элементов: разделы (<w:body>), абзацы (<w:p>), фрагменты текста (<w:r>) и отдельные символы (<w:t>). Форматирование — шрифт, размер, цвет, выравнивание — задаётся через ссылки на стили или через прямые атрибуты.
¶Совместимость и программное обеспечение
Формат DOCX поддерживается широким кругом программ:
- Microsoft Word — родное приложение, полностью поддерживающее формат, включая расширения Office Open XML.
- LibreOffice Writer и OpenOffice Writer — свободные офисные пакеты с поддержкой чтения и записи DOCX.
- Google Docs — онлайн-редактор, работающий с DOCX через импорт и экспорт.
- Apple Pages — поддерживает открытие и сохранение документов в DOCX.
- WPS Office — кроссплатформенный офисный пакет с совместимостью с форматом.
- Пакеты программирования: библиотеки python-docx (Python), Open XML SDK (.NET), Apache POI (Java) позволяют создавать и обрабатывать DOCX-файлы программно.
При открытии DOCX-файла в приложениях, не поддерживающих Office Open XML, возможны потери форматирования, особенно при сложной вёрстке, таблицах и встроенных объектах.
¶Преимущества и ограничения
К достоинствам формата относятся:
- Открытая и документированная спецификация, что обеспечивает межплатформенную совместимость.
- ZIP-компрессия уменьшает размер файла по сравнению с бинарным DOC.
- Структурированное XML-содержимое упрощает программную обработку и извлечение данных.
- Устойчивость к повреждениям: при повреждении одного XML-блока остальная часть документа обычно остаётся читаемой.
Ограничения DOCX:
- ZIP-архив может содержать макросы в формате VBA, что создаёт риски безопасности; такие файлы обычно сохраняются с расширением .docm.
- Сложная вёрстка, созданная в Microsoft Word, может отображаться иначе в других редакторах.
- Формат не предназначен для многостраничных изданий с высокими требованиями к вёрстке — для таких задач используется Adobe InDesign и форматы PDF, IDML.
¶Распространённость
По состоянию на 2020-е годы DOCX остаётся одним из наиболее распространённых форматов обмена текстовыми документами в мире, наряду с PDF. В России DOCX де-факто является стандартом для обмена документами в государственных структурах, образовательных учреждениях и бизнесе. Федеральный закон «Об электронном документе» и связанные подзаконные акты предусматривают использование открытых форматов, к которым относится и Office Open XML.
Источники:
- ISO/IEC 29500: Office Open XML File Formats
- Ecma International, Standard ECMA-376: Office Open XML
- Документация Microsoft по форматам файлов Office
- Документация LibreOffice по поддержке форматов
- python-docx documentation
