【问题标题】:pdf creation through a third party software called by php通过php调用的第三方软件创建pdf
【发布时间】:2012-04-22 20:12:15
【问题描述】:

我在使用 DOMPDF 时遇到问题,如果我想创建一个大的 pdf 文件,这需要花费大量时间。我观察到我在打印对话框中的 pdf 选项创建 pdf 的速度非常快。或任何第三方软件,如 createPDF 或 pdf995 可以非常快速地创建 pdf。我可以使用任何此类软件并通过将 HTML 传递给它们并通过 PHP 调用它们并将 pdf 保存在我的根目录中。 我正在使用可以安装此类软件的 Linux 主机。

【问题讨论】:

  • 如果您使用的是 shared Linux 主机,那么您通常只能安装 PHP 库。但是,如果您有 VPS 或专用盒子,请与您的系统管理员/主机联系 - 他们会帮助您安装所需的东西。
  • 顺便说一句,如果您要创建报告,请查看 Jasper 报告。它是一个 Java 堆栈,需要一个备用主机才能运行,但您可以从 PHP 调用它,它的功能非常好。我已经将它与 iReport 一起使用,它是一种报表设计软件 - 社区版完全免费!

标签: php pdf pdf-generation


【解决方案1】:

您正在寻找的是WKHTMLTOPDF。不要打扰 DOMPDF 等,这不值得花时间。 WKHTMLTOPDF 在服务器端产生最好的结果并且速度非常快(取决于服务器规格)。

您可以使用虚拟 X 服务器无头运行 WKHTMLTOPDF(和其他软件),以获得类似于使用“打印对话框”(它基于 WebKit)的结果。

您可以在这里查看我的其他帖子: HTML2PDF in PHP - convert utilities & scripts - examples & demos

(如果您滚动到底部,有一些非常适合您需要的 PHP 代码)

【讨论】:

  • wkhtml2pdf2 非常好(而且免费!)但我工作的公司对其进行了评估,发现它不能很好地处理分页符。最后我们还是和Prince一起去了,虽然贵,但是孤儿管得更好。这可能是读者在选择 PDF 平台之前要记住的事情。
  • 嗯,是的,这可能是一个重点。但是我对休息没有任何问题,但我知道这一点。我认为对于非常长的文档来说,这更像是一个问题。
  • 公平地说,我在 Prince 中所做的工作(通常具有比单页更长的行跨度)okay。我个人仍然认为像 Jasper 这样的表格/分页会更好......但我们有时必须在我们所掌握的技术限制范围内工作!
【解决方案2】:

PHP 是一种慢速语言(与编译后的代码相比),因此如果您的 PDF 生成器(如 DOMPDF)是用 PHP 编写的,那么与 C++ 可执行版本相比,它当然会很慢。好消息是答案是肯定的,你可以完全按照你的暗示去做。 PHP 能够使用exec() 函数运行系统命令,因此您可以使用 any 命令行工具从您的输入 (HTML) 创建 PDF,然后打开并将结果传送到浏览器作为可下载文件。

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 2014-11-30
    • 1970-01-01
    • 2013-04-15
    • 2010-12-21
    • 2011-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多