Word解析之Word内部结构

我们常用的Office Word格式分为doc和docx两种格式,doc是Word 97-2003版本使用的格式,Word2007及其之后的版本,默认格式是docx。
doc使用的是office 97-03的存储规范:OLE。它是一种对象链接和嵌入的技术,该技术可以包含文本,图形,电子表格甚至其他二进制数据。
docx使用OpenXML(OOXML)协议,它是微软在Office 2007中提出的一种新的文档格式,Office 2007及其以后的Word、Excel、PowerPoint默认均采用OpenXML格式。
我们后面讨论的都只针对docx格式的文件,doc文件的解析有另外一套规范。doc文件可以转换为docx。所以就不再讨论doc文件如何解析。
docx文件可以解压,解压之后的文件结构大致如下:

.
├── [Content_Types].xml   // 描述的是整个文档的内容。把各个XML文件组合成一个整体
├── _rels                 // 定义Package(Zip包)和它所直接包含的Part之间的关系。对于一个 Part 来说,如果它依赖其他 Part,那么需要为这个 Part 创建一个目录,并且也有一个 _rels 目录,目录下面会有一个 partname.rels 文件。比如 /word/document.xml 就是很典型的例子
├── docProps              // 记录docx文档的主要属性信息
│   ├── app.xml          // 描述文档的文档类型、版本、只读信息、共享、安全属性等信息
│   └── core.xml         // 描述文档的创建时间、标题、主题和作者等基于Open XML约定文档格式的通用文件属性信息
└── word
    ├── _rels
    │   └── document.xml.rels
    ├── charts
    │   ├── _rels
    │   │   ├── chart1.xml.rels  \\ 映射表存放文件文本框文件的位置
    │   ├── chart1.xml
    │   ├── colors1.xml
    │   ├── colors2.xml
    │   ├── style1.xml
    │   ├── style2.xml
    ├── document.xml    // 文档中所有可见文字的内容和属性及不可见部分的内容和属性
    ├── embeddings
    │   ├── Microsoft_Excel_Worksheet.xlsx
    │   ├── Microsoft_Excel_Worksheet1.xlsx
    │   ├── oleObject1.bin  // OLE是Object Linking and Embedding的缩写,直译为对象连接与嵌入;满足用户在一个文档中加入不同格式数据的需要(如文本、图像、声音等),即解决建立复合文档问题。
    │   ├── oleObject2.bin
    │   ├── oleObject3.bin
    │   ├── oleObject4.bin
    ├── endnotes.xml 
    ├── fontTable.xml    // 文档所使用的字体信息
    ├── footer1.xml
    ├── footer2.xml
    ├── footnotes.xml    // 文档中脚注部分信息
    ├── header1.xml
    ├── header2.xml
    ├── media               // Word中的多媒体文件,如插入的图片、公式对应的wmf文件等
    │   ├── image1.emf
    │   ├── image2.png
    │   ├── image3.jpeg
    │   ├── image4.wmf
    │   ├── image5.emf
    ├── numbering.xml          // Word中的有序列表、无序列表等的信息,定义了列表的样式、序号等信息
    ├── settings.xml           // 文档的总体设置信息
    ├── styles.xml             // Word的样式信息,定义样式的展示优先级以及段落、表格等样式
    ├── theme                  // 文档的主题的所有信息,如颜色、字体大小
    │   ├── theme1.xml
    │   ├── themeOverride1.xml
    │   └── themeOverride2.xml
    └── webSettings.xml        // 文档左右间距等的样式信息

在对Word进行解析的时候,就是对解压之后的XML文件进行解析。我们只需要重点关注document.xml文件,里面是Word内容的主题。
document.xml的主体如下:

<w:document>
    <w:body>
        <w:p/>
    </w:body>
</w:document>
  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值