是否有可能输出格式以外。docx和。odt与TinyButStrong和OpenTBS插件
题
我有一个模块,它合并了数据库记录中的文档和 .docx
或 .odt
文档模型。
我必须输出 .docx
, .odt
或 .pdf
.对于输出到Microsoft和Open格式,没有问题,所有工作正常。
但我想知道的是,我可以输出到一种格式(如XML或HTML),我可以用它来随后构建PDF文档吗?
如果我不能,是否有任何库提供合并文档功能,如:
DOCX (or ODT) + database record => PDF
而且我不想使用phplivedocx。
解决方案
我不知道任何做DOCX=>PDF的PHP库。事实上,DOCX转换为PHP中的其他东西是今天一个开放的问题。这与您制作DOCX的方式无关。
但正如你所说,它们是HTML=>PDF的PHP库。
Html2Pdf 是一个着名的PHP库,做HTML=>PDF。还有 DomPdf.
所以如果你能找到一个DOCX=>HTML的PHP库,那么它就可以工作了。
当然,它有一些限制,因为即使PDF和DOCX都是打开的格式,它们也有非常具体的功能,它们需要巨大的渲染过程,并且编辑器为它们保留了一些很好的提示。
将DOCX转换为HTML在理论上是可能的。有一个Windows软件可以通过 [医]软.如果你需要在PHP中做到这一点,一些网络文章告诉你如何制作它,但由于我找不到任何PHP代码这样做,我想它更多的是理论而不是实际。
http://www.quepublishing.com/articles/article.aspx?p=691502
这个过程有多复杂 取决于单词的本来面目 您需要保留的格式 的转换。
如果您想尝试这种方式,很高兴知道OpenTBS使您能够在合并前后读取XML。它基于一个PHP类名TbsZip,可以读取DOCX中的任何XML文件,因为它实际上是一个zip存档。
其他提示
我成功地将libreoffice的便携版本放在我的主机的web服务器上,我用PHP调用它来执行命令行转换。docx等到pdf。在飞行中。我在主机的web服务器上没有管理员权限。这是我的博客文章我做了什么:
耶!直接从.docx或。odt到。pdf使用Php与LibreOffice(OpenOffice的继任者)!
解压后也可以直接在TBS中使用PDF文件:
qpdf --qdf --object-streams=disable in.pdf out.pdf