gpt4 book ai didi

php - 使用 PHP 将 HTML 转换为 PDF(不是 PDF 到 HTML)

转载 作者:IT王子 更新时间:2023-10-28 23:44:13 24 4
gpt4 key购买 nike

<分区>

我是一名 PHP 开发人员,在我的一个项目中,我需要将一些 HTML 文档(大约 30 到 50 页)转换为 PDF 文档。

我的搜索找到了以下可能的解决方案。其中包括一些 PHP 库和一些命令行应用程序。每个都有自己的优点和缺点。

PHP 库:

  1. fpdf(需要更多努力才能转换)
  2. tcpdf(需要更多努力转换)
  3. html2fpdf http://html2fpdf.sourceforge.net
  4. html2pdf http://html2pdf.fr/
  5. dompdf http://code.google.com/p/dompdf/ (与其他相比,效果很好)

对于每个库,我都有这样的问题:

  1. 需要很长时间(转换 30 个 HTML 页面超过五分钟)
  2. 需要太多资源(内存和时间)

    (我在php.ini中设置了以下参数:

    max_execution_time = 600
    memory_limit = 250M

    但还是不行。)

  3. 需要格式正确的 HTML 页面(例如,没有丢失的关闭标记)

当我尝试转换简单的 HTML 文档(五页或更少的 CSS 页面)时,所有这些都有效

命令行应用程序

与上述库相比,所有命令行应用程序都能完美且快速地运行,但只有当我直接在控制台上运行它们时才会如此。当我尝试在 PHP 中通过 exec()system() 使用它们时,它们会给我错误。

以下是命令行应用程序及其在 PHP 中运行时的错误:

  1. html2pdf ( http://www.tufat.com/s_html2ps_html2pdf.htm)

    html2pdf:11380): Gtk-WARNING **: cannot open display: :0.0
    No protocol specified

  2. wkhtmltopdf

    Loading page: 10%
    Loading page: 33%
    Loading page: 100%
    Waiting for redirect
    Outputting pages
    QPainter::begin(): Returned false
    QPainter::begin(): Returned false
    QPainter::save: Painter not active
    QPainter::scale: Painter not active
    QPainter::setRenderHint: Painter must be active to set rendering hints
    QPainter::setBrush: Painter not active
    QPainter::pen: Painter not active
    QPainter::setPen: Painter not active

  3. htmltopdf ( http://www.ultrashareware.com/html-to-pdf.htm)

所以现在我正在寻求帮助。谁能回答:

哪个 PHP 库适合我的情况?

为什么命令行应用程序会出现这些错误?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com