在 .docx 模板中插入 HTML 格式的文本

Inserting HTML formatted text in a .docx template

我有一些 .docx 模板,我需要在其中插入由 php 脚本生成并使用 HTML 标记格式化的文本。

我试过使用phpword模板操作选项,但是你不能输入完整的块,你只能输入一个非格式化的单行值。

在HTML中有转换模板的解决方案,插入生成的文本,然后用msword MIME保存回来,但这样就不能完全保持页眉和页脚的完整性。

我找到的下一个是 phpdocx,但是 249 欧元只是为了使用嵌入HTML 功能对我来说太贵了。

所以我的下一个想法是:

1) 在单词模板中插入标签:{{{tag}}}

2) 在我的 php 脚本中将模板 .docx 文件作为 XML 流加载。

3) 使用 phpword 创建一个 .docx 文档,其中包含我在 2 之间生成的文本 标签 {{{tag1}}} 和 {{{tag2}}}

4) 将 3) 中生成的文档作为 XML 流加载并提取 2 个标签之间的块。

5) 插入4)中提取的块以替换2)中加载的XML流中的初始{{{tag}}}

但我真的不确定它是否有效,因为我不太了解 Word 如何构建其 XML...

XML结构是分层的,所以用另一个包含子块的块替换块的想法可行吗?

您可以尝试 linux 中的 pandoc 库,它就是为了这个目的。