我有一些。docx模板,我需要插入由php脚本生成的文本,并与HTML标记格式化。
我试过使用php模板操作选项,但是你不能输入完整的块,你只能输入一个非格式化的单行值。
有一个解决方案是将模板转换为HTML,插入生成的文本,然后用msword MIME将其保存回来,但这样就不能完全保持页眉和页脚的完整性。
下一个我找到的是phpdocx,但249欧元只是使用嵌入式html功能对我来说太贵了。
所以我的下一个想法是:
1)在word模板中插入一个标签:{{{tag}}}
2)加载模板。docx文件在我的php脚本作为XML流。
3)用php创建一个.docx文档,包含我在2之间生成的文本标签{{{tag1}}}和{{{tag2}}}
4)将3)中生成的文档加载为XML流,并提取两个标记之间的块。
5)插入4)中提取的块来替换2)中加载的XML流中的初始{{{tag}}}
但我真的不确定它会工作,因为我真的不明白Word如何构建它的XML…
XML结构是分层的,所以用包含子块的块替换另一个块的想法可以工作吗?
您可以尝试linux中的pandoc库,它就是用于此目的的。