当前位置: 首页 > 面试题库 >

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

柳宪
2023-03-14
问题内容

我是一名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分钟以上才能转换30个HTML页面)
  2. 需要太多资源(内存和时间)

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

max_execution_time = 600
memory_limit = 250M

但情况仍然无法解决。)

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

当我尝试转换简单的HTML文档(五个或更少的页面以及很少的CSS)时,所有这些工作均有效

命令行应用

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

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

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

html2pdf:11380):Gtk-警告**:无法打开显示::0.0未
指定协议

  1. wkhtmltopdf

加载页面:10%
加载页面:33%
加载页面:100%
等待重定向
输出页面
QPainter :: begin():返回错误的
QPainter :: begin():返回错误
QPainter :: save:画家不活跃
QPainter :: scale :画家不活跃
QPainter :: setRenderHint:画家必须是活跃的才能设置渲染提示
QPainter :: setBrush:画家不活跃
QPainter :: pen:画家不活跃
QPainter :: setPen:画家不活跃

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

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

在我的情况下,哪个PHP库可以正常工作?

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


问题答案:

关于 wkhtmltopdf

  • 这个东西运行起来非常快,它还可以处理扔给它的各种HTML / CSS,因此当需要提高速度时,应该认真考虑一下。我们最近在公司中切换到它,而我们的PDF服务获得了极大的提速。

  • 至少在Linux下,它需要安装XOrg库-服务器通常没有它们,因此这可能是您的问题。



 类似资料:
  • 问题内容: 可以使用PHP将HTML页面转换为PDF吗?如果可以,该如何做? 具体而言,页面是动态生成的发票。所以我想使用以下命令加载它: 而且HTML输出必须转换为PDF。 任何好的库都可以。 问题答案: 如果您希望从php 创建 pdf,则pdflib将为您提供帮助(就像其他人建议的那样)。 否则,如果您想通过PHP 将 HTML页面 转换 为PDF,您将在这里发现一些麻烦。.3年以来,我一直

  • 问题内容: 将PDF文档转换为HTML在浏览器中查看的最佳解决方案是什么?该站点有多个PDF文档,访问者可以单击HTML格式的视图,并且应在屏幕上以HTML文件的形式查看。 运行PHP,Linux,Apache的标准网站。 问题答案: pdftohtml可以正常工作:快速,稳定,但是html结果充其量是丑陋的。我已经在有很多工作简历的网站上使用了很长时间。 但是,这是提取文本内容的好方法。 或Go

  • 我想在pdf中更改一些超文本标记语言。我所有的html都是超文本标记语言字符串,但我不知道如何在中正确传递。 如果有人知道怎么做。。一定很好。多谢多姆

  • 问题内容: 如何使用Python将PDF文件转换为HTML? 我只是在想Google会(或似乎会)对PDF文件建立索引的行为。 我的最终目标是设置Apache以显示PDF文件的HTML,因此,向该方向发展的任何事情也将不胜感激。 问题答案: 该poppler的包提供了一个实用PDF2HTML您可能能够使用。还有一个Python绑定到libpoppler。

  • 我想用iText将带有图像的html文件转换成pdf格式。我在这里提供我的消息来源。 请帮助我如何使用iText将带有图像的html文件转换为pdf格式。如果没有图像或者硬编码图像路径,我可以转换html文件。提前致谢

  • 问题内容: 我有一个HTML(不是XHTML)文档,可以在Firefox 3和IE 7中很好地呈现。它使用相当基本的CSS对其进行样式设置,并在HTML中很好地呈现。 我现在正在寻找一种将其转换为PDF的方法。我努力了: [DOMPDF]:表格有很大的问题。我考虑了我的大型嵌套表并对其进行了帮助(在此之前,它只消耗了128M的内存然后就死了-这就是我对php.ini中的内存的限制),但是它使表完全