为什么用 python-docx 复制的 Word 文件与原始文件有不同的 XML

Why a Word file duplicated with python-docx has different XML than the original

我正在从更改了字体但保持相同格式、样式和信息内容的 Word 文档生成 .docx 文件。所有这些都是通过 python-docx API.

完成的

仍然有不在 API 范围内的解决方法(例如从源代码复制数字项目符号并将非字符串插入 Headers/Footers)。我正在通过 lxml 处理这些问题。

原始文件和生成文件的 XML 虽然相似,但不完全相同,尽管缺少 <w:numPr> 标签。这是为什么?输出的 .docx 文件看起来符合预期。

这会使处理低级别 lxml 修复变得复杂。

您假设只有一种方法来表示像 OOXML 这样复杂的格式的文档,尤其是从独立编写的代码库生成的文档,这是非常无效的。

所以您的问题的答案是多个 OOXML 表示可以在 Microsoft Word(或任何其他 DOCX 应用程序)中产生相同的外观;假设任何给定的库将编写任何给定的 OOXML 与任何给定的 DOCX 应用程序完全相同是不安全的。