Как работает формат .doc? - PullRequest
       34

Как работает формат .doc?

15 голосов
/ 24 сентября 2008

Недавно я узнал об основной структуре файла .docx (это специально структурированный zip-архив). Однако docx не форматируется как документ.

Как работает файл doc? Каков формат файла, структура и т. Д.

Ответы [ 6 ]

14 голосов
/ 24 сентября 2008

Это не прямой ответ на ваш вопрос, но я настоятельно рекомендую прочитать статью Джоэла Спольски, Почему форматы файлов Microsoft Office такие сложные? (И некоторые обходные пути) . Это даст вам некоторое представление о том, насколько сложен формат .doc и почему. Джоэл также дает очень общий обзор того, из чего состоит формат .doc:

Видите ли, файлы Excel 97-2003 являются составными документами OLE, которые, по сути, являются системы внутри одного файла. Это достаточно сложно, что вы должны прочитать еще 9 страниц спецификации, чтобы понять это. И эти «спецификации» больше похожи на данные C структуры, чем то, что мы традиционно считаем спецификацией. Это целый иерархический файл система.

(Цитата относится к файлам Excel, но также относится и к документам Word). Информативная статья, которая помогает понять, почему файлы .docx и ODF структурированы и разработаны гораздо более логично, если рассматривать их с внешней стороны.

11 голосов
/ 24 сентября 2008

Полный формат для двоичных файлов .doc задокументирован в этом pdf из ( статьи в Википедии о .doc )

5 голосов
/ 24 сентября 2008

Основная идея формата MS Word DOC - это документ OLE Compund Document, который, как уже писал Кибби, представляет собой дамп памяти. Это очень сложный и запутанный способ хранения документов, но если вы когда-нибудь действительно покопались в приложении Word, вы узнаете, насколько безумно много функций у него есть, и если вы используете его в бизнес-среде, у вас будет хороший ощущение того, как он интегрируется с другими программами из серии Office.

В общем, документы OLE Compund представляют собой очень расширяемые структуры, которые позволяют вам объединять все виды данных в один файл и даже в некоторой степени обрабатывать данные, для которых не установлено приложение. Например, если вы вставляете объект уравнения (из редактора уравнений MS) в документ, он сохраняется как подобъект, подобный файлу внутри файла, но этот объект не просто содержит данные, необходимые для редактора уравнений для его редактирования и рендеринга он также имеет общее растровое (или, может быть, метафайл) представление, сохраненное, чтобы его можно было отображать, хотя и не редактировать, на компьютере без установленного редактора формул.

Это было почему , для как вам придется читать спецификации, с которыми уже связались другие люди;)

Если вы хотите простой способ работы с файлами, убедитесь, что ваше программное обеспечение работает на компьютере под управлением Windows с установленным Word, а затем используйте COM / OLE Automation, чтобы открывать документы и манипулировать ими. Тогда вам не придется беспокоиться о формате файла.

1 голос
/ 24 сентября 2008

Документ - это двоичный формат текстового документа - вот спецификация формата Microsoft Office Word 97-2007 [* .doc] .

1 голос
/ 24 сентября 2008

Формат .doc довольно сложный. Как и большинство форматов Microsoft, он отражает долгую историю изменений между версиями и устаревшей поддержкой. Они опубликовали его не так давно, поэтому, если вы хотите просмотреть его (и другие форматы до Office 2007), вышибите себя здесь .

0 голосов
/ 24 сентября 2008

. Существует документ Microsoft Word, а затем текст .doc. Похоже, вы задаетесь вопросом о проприетарном формате Microsoft.

Из Википедия :

Формат DOC различается в разных форматах Microsoft Office Word. Версии Word до 97 использовали формат, отличный от версии Microsoft Word, между 97 и 2003.

Только в Word 2007 .docx , хотя упакованный файл, не обязательно является архивом .zip Это структурированный XML-документ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...