一种自主学习 Office Open XML 文件格式的方法介绍

举报
Jerry Wang 发表于 2022/12/25 09:24:56 2022/12/25
【摘要】 全世界大约有 10 亿人使用 Microsoft Office,DOCX 格式是在办公室之间交换文档文件的最流行的事实标准。 虽然 DOCX 是一种复杂的格式,但不少包括 ABAP 在内的开发人员,都希望手动解析它以完成更简单的任务,例如索引、转换为 TXT 和进行其他小的修改。

全世界大约有 10 亿人使用 Microsoft Office,DOCX 格式是在办公室之间交换文档文件的最流行的事实标准。 虽然 DOCX 是一种复杂的格式,但不少包括 ABAP 在内的开发人员,都希望手动解析它以完成更简单的任务,例如索引、转换为 TXT 和进行其他小的修改。

PDF 格式不能算是 docx 文件的竞争对手,因为 PDF 无法编辑并且它们不包含完整的文档结构,因此它们只能进行有限的本地更改,例如水印、签名等。 这就是为什么大多数业务文档都是以 DOCX 格式创建的;目前尚未存在好的替代品可以替代它。

虽然对于 Open Office XML 的ECMA 规范,有一本多达 5,000 页的庞大手册,但如果我们仅仅想通过 ABAP 语言操作 docx 文件,不需要把这 5000 页的文档全部过完。

理解该格式的最佳方法是使用 MSWord 创建一个简单的单字文档,并观察编辑文档如何更改底层 XML。

DOCX 文件是 XML 文件的 ZIP 存档。 如果您创建一个新的、空的 Microsoft Word 文档,在里面写一个单词“Test”并解压缩它的内容,您将看到以下文件结构:

尽管我们创建了一个简单的文档,但 Microsoft Word 中的保存过程已经生成了 XML 格式的默认主题、文档属性、字体表等。DOCX 中的所有文件都是 XML 文件,即使是带有“.rels”扩展名的文件也不例外。

首先,让我们删除未使用的内容并关注包含主要文本元素的 document.xml。 删除文件时,请确保已从其他 xml 文件中删除了对其的所有关系引用。 这是一个关于我如何清除对 app.xml 和 core.xml 的依赖项的代码差异示例。 如果您有任何未解决/缺失的引用,MSWord 将认为该文件已损坏。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。