使用php将文件转换为pdf文件的最佳方法

时间:2011-09-06 18:27:52

标签: php pdf

根据您的说法,将任何类型的上传文件(.doc,.docx,...)转换为pdf文件的最佳方法是使用PHP除外。甚至可以这样做吗?

我查看了FPDF,但这会从文本中创建pdf文件 之前给出的另一个解决方案是在您的服务器上使用PDFlib库,但遗憾的是,我的服务器不支持此库...

将用户在我的网站上传的文件转换为pdf文件的最佳方式是什么?

5 个答案:

答案 0 :(得分:3)

更简单的方法是以编程方式将上传限制为.PDF格式,并要求您的用户只上传.pdf文件。在上传页面上提供一个免费的开源pdf打印机(例如Cuteftp)链接,用户可以安装该打印机以从任何可打印的文件创建.pdf文档。

尝试通过PHP实现这一点会有问题,因为上传可能是从许多不可能完全满足的不同程序生成的。例如它将如何处理Scribus或ABC Flowcharter或用于创建文档的任何其他“非标准”应用程序?

更好地过滤前期上传。

答案 1 :(得分:1)

迄今为止,我尝试过的最佳服务器端PDF生成器是wkhtmltopdf,这是一个基于WebKit的自包含隐形浏览器,可以呈现任何HTML + CSS并从中生成PDF。合理快速且相当可靠,有一些有用的PDF选项,如页面大小,方向等。

在您的案例中,作业的第二部分是在将文档提供给wkhtmltopdf之前将文档转换为HTML。如果可能,请让您的用户以HTML格式上传文档(Word和Co.可以导出(糟糕)HTML)。如果这不是一个选项,您将不得不找到一个专门用于此的工具,在我看来,这比找到一个将Word文档直接转换为PDF的工具要容易得多。

关于wkhtmltopdf的好处还在于你可以使用ob_xxx()函数将PHP脚本的输出提供给它。

答案 2 :(得分:1)

PHP Excel使用PHP创建doc,docx,xl​​s,xlsx,pdf文件的最简单方法。使用清晰的文档可以轻松实现。

答案 3 :(得分:-1)

如果您完全关心准确性,请使用Microsoft Office呈现Microsoft Office文档。这可以通过调用Office over COM来轻松完成。

访问您的服务器,并安装您需要的内容。这样做比使用低于标准的解决方案更容易。

答案 4 :(得分:-1)

嗯......我可以想到一种很容易做到这一点的方法,但它不涉及使用PHP。

将您的文档上传到服务器上的文件夹,供用户浏览。

EG:http://mysite.com/docs/

然后让您的用户安装一个虚拟打印机驱动程序,如Primo PDF

http://www.primopdf.com/index.aspx

然后他们可以将文档加载到他们的浏览器中,并打印到PDF以进行离线浏览。

如果这不是一个选项,并且您处理符合openXML标准的office文档,您可以尝试将XML文档解析为PHP页面以在浏览器中显示,然后使用JavaScript来触发打印。 / p>

不幸的是,它仍然取决于您的用户安装了PDF打印机。

或者,您可以原生加载文档,然后打印到您自己的PDF打印机,然后将PDF上传到Web服务器进行下载。

如果没有安装各种不同的文档解析器工具包并在幕后工作,我无法想到这样做的任何简单方法。