我最近了解了.docx文件的基本结构(它是一个特殊结构的zip存档).但是,docx不像doc那样格式化.
doc文件如何工作?什么是文件格式,结构等?
这不是你问题的直接答案,但我强烈建议阅读Joel Spolsky的文章,为什么Microsoft Office文件格式如此复杂?(还有一些解决方法).它将让您深入了解.doc格式的复杂程度 - 以及原因.Joel还给出了.doc格式包含的基本概述:
您看,Excel 97-2003文件是OLE复合文档,它们本质上是单个文件中的文件系统.这些都非常复杂,你必须阅读另外9页的规范来解决这个问题.而这些"规格"看起来更像是C数据结构,而不是我们传统上认为的规范.这是一个完整的分层文件系统.
(引用引用Excel文件,但它也适用于Word文档).信息性文章,有助于理解为什么.docx和ODF文件在从外部角度进行检查时的结构和设计更加逻辑性.
二进制.doc文件的完整格式记录在此pdf中(维基百科上的.doc文章)
MS Word DOC格式背后的基本思想是OLE Compund文档,正如Kibbee已经编写的那样,它基本上是一个内存转储.这是一种非常复杂和复杂的文档存储方式,但是如果你真的已经深入了解Word应用程序,你就会知道它有多么疯狂的功能,如果你在商业环境中使用它,你会有一个好的感觉它如何与Office系列中的其他程序集成.
通常,OLE Compund文档是非常可扩展的结构,允许您将所有类型的数据填充到一个文件中,甚至在某种程度上处理您没有安装应用程序的数据.例如,如果将一个方程式对象(来自MS公式编辑器)插入到文档中,它将被存储为子对象,就像文件中的文件一样,但此对象不仅包含公式编辑器所需的数据为了编辑和渲染它,它还存储了一个通用的位图(或图元文件)表示,因此它可以在没有安装公式编辑器的机器上显示,但不能编辑.
这是为什么,对于如何你必须读其他人联系到规范了;)
如果您想要简单的方法来处理文件,请确保您的软件在安装了Word的Windows计算机上运行,然后使用COM/OLE自动化打开和操作文档.您不必担心文件格式.