相关疑难解决方法(0)

108
推荐指数
8
解决办法
19万
查看次数

使用PHP将HTML转换为PDF(不是PDF格式的HTML)

我是一名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**:无法打开显示:: 0.0
    没有指定协议

  2. wkhtmltopdf

    载入页面:10%
    载入页面:33%
    载入页面:100%
    等待重定向
    输出页面
    QPainter :: begin():返回false
    QPainter :: begin():返回false
    QPainter :: save:Painter not active
    QPainter :: scale :Painter不活动
    QPainter :: setRenderHint:Painter必须处于活动状态才能设置渲染提示
    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) …

html php pdf pdf-generation

26
推荐指数
1
解决办法
2万
查看次数

标签 统计

pdf ×2

pdf-generation ×2

php ×2

html ×1