是否可以使用TinyButStrong和OpenTBS插件输出.docx和.odt以外的格式

时间:2011-05-20 10:40:59

标签: php pdf merge docx opentbs

我有一个模块,用于合并数据库记录和.docx.odt文档模型中的文档。

我必须输出.docx.odt.pdf。对于输出到Microsoft和Open格式,没有问题,一切正常。

但我想知道的是,我可以输出格式(如XML或HTML),我可以用它来构建PDF文档吗?

如果我不能,是否有任何库提供合并文档功能,如:

          DOCX (or ODT) + database record => PDF

我不想使用phplivedocx。

3 个答案:

答案 0 :(得分:2)

我成功地将可移植版本的libreoffice放在我主机的网络服务器上,我用PHP调用它来执行从.docx等到pdf的命令行转换。在飞行中。我在主持人的网络服务器上没有管理员权限。以下是我所做的博客文章:

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

耶!使用PHP与LibreOffice(OpenOffice的后继者)直接从.docx或.odt转换为.pdf!

答案 1 :(得分:1)

我不知道任何执行DOCX =>的PHP库。 PDF。事实上,在PHP中将DOCX转换为其他东西是一个已解决的问题。这与您制作DOCX的方式无关。

但正如你所说,它们是用于HTML =>的PHP库。 PDF。

Html2Pdf是一个知名度很高的PHP库,可用于HTML => PDF。 还有DomPdf

因此,如果您能找到DOCX =>的PHP库HTML,然后就可以了。

当然它有一些限制,因为即使PDF和DOCX都是打开的格式,它们都有非常具体的功能,它们需要大量的渲染过程,编辑们会为它们保留一些好的技巧。

理论上可以将DOCX转换为HTML。有一个Windows软件由EpingSoft执行。如果你需要在PHP中做,一些网络文章告诉你如何制作它,但由于我找不到任何PHP代码这样做,我想它更具理论性而不实用。

http://www.quepublishing.com/articles/article.aspx?p=691502

  

这个过程有多复杂   取决于Word的原生程度   格式化你需要保留期间   转换。

如果您想尝试这种方式,最好知道OpenTBS使您能够在合并之前和之后读取XML。它基于一个PHP类名称TbsZip,它可以读取DOCX中的任何XML文件,因为它实际上是一个zip存档。

答案 2 :(得分:0)

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

qpdf --qdf --object-streams=disable in.pdf out.pdf