#docx
#docx
Вопрос:
Я узнал, что файлы .docx в основном являются двоичными файлами. Но я не знаю о структуре, которая лежит ниже.
Какова основная структура файла .docx? Например, какой длины заголовок? С какого момента начинается фактическое содержимое документа? Есть ли у него какая-либо подпись в конце?
В принципе, какова анатомия файла .docx?
Комментарии:
1. Потому что, если я понимаю эту структуру, мне придется писать код на c в отношении структуры файла .docx @UmNyobe
Ответ №1:
Docx — это, по сути, zip-архив с большим количеством XML-файлов. Это открытый формат, и документация доступна в Интернете. В статье Википедии есть общее описание и ссылки, которые вам понадобятся.
Ответ №2:
Я собираюсь ответить на этот вопрос: «Какова анатомия файла DocX?»
Официальный ответ
Пожалуйста, ознакомьтесь с официальной статьей OOXML «Анатомия OOXML» для примера структуры каталогов DocX :
http://officeopenxml.com/anatomyofOOXML.php
Для примера документа DocX XML :
http://officeopenxml.com/WPsampleDoc.php
Что я лично предлагаю
ОДНАКО, тщательно следуя этим инструкциям и догадываясь, где детали стали туманными, я не смог создать .docx
файл.
Я выбрал этот короткий путь: создайте Docx
файл в Libre Office (поддерживает .docx
расширения), создайте общий шаблон в формате файлов docx, которые вы ожидаете создать, сохраните файл как .docx, скопируйте и сохраните как .zip.
Откройте этот каталог .zip, и то, что вы увидите, я обнаружил, что он намного лучше объясняет спецификацию, чем приведенные выше официальные ссылки.
Пример
Например, если вы создаете статьи в .docx, [[Title]]
вверху в заголовке / форматировании должно быть указано, By: [[Author]]
, для автора и т. Д. И т. Д.. Затем с помощью вашего кода используйте этот шаблон и просто замените [[field]]
его на то, что $data
вы готовы в него вставить.