我有一个模块,它合并了数据库记录中的文档和 .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服务器上没有管理员权限。这是我的博客文章我做了什么:

http://geekswithblogs.net/robertphyatt/archive/2011/11/19/converting-.docx-to-pdf-or-.doc-to-pdf-or-.doc.aspx

耶!直接从.docx或。odt到。pdf使用Php与LibreOffice(OpenOffice的继任者)!

解压后也可以直接在TBS中使用PDF文件:

qpdf --qdf --object-streams=disable in.pdf out.pdf
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top