6

我想要将 HTML 转换为图像并将结果显示给用户的选项。我将使用 PHP 创建一个 $html 变量,而不是使用 echo $html 显示,我想将其显示为图像,以便用户可以在需要时保存文件。

我希望有像 $image = convertHTML2Image($html); 这样简单的东西。:p 如果存在?!

谢谢!!

4

5 回答 5

14

正如@Pekka 所说,将 HTML 代码转换为图像的工作是成熟的网络浏览器的工作。

如果你想做这种事情,那么你需要一个脚本来执行以下操作:

  1. 在浏览器中打开页面。
  2. 从浏览器捕获呈现的页面作为图形。
  3. 将该图形输出给您的用户。

传统上,这将是一项艰巨的任务,因为 Web 浏览器通常由用户驱动,并且不容易以这种方式自动化。

幸运的是,现在有了PhantomJS形式的解决方案。

PhantomJS 是一个无头浏览器,专为这类事情而设计——需要成熟渲染引擎的自动化任务。

它基本上是一个完整的浏览器,但没有用户界面。它以与其他浏览器完全一样的方式呈现页面内容(它基于 Webkit,因此结果类似于 Chrome),并且可以由脚本控制。

正如 PhantomJS 主页上所说,它的目标用例之一是用于截取网站的屏幕截图或缩略图。

(它的另一个很好的用途是对您的站点进行自动化测试,它也是一个很棒的工具)

希望有帮助。

于 2012-10-23T21:53:28.100 回答
3

这在纯 PHP 中是不可能的。

您所说的“转换”实际上是一项艰巨的任务:必须呈现HTML 页面。要在 PHP 中执行此操作,您必须重写整个 Web 浏览器。

您要么必须使用外部工具(通常利用浏览器的渲染引擎)或 Web 服务(其作用相同)。

于 2012-10-23T21:37:33.953 回答
0

您可以查看dompdf,它是一个将 html 文件转换为 pdf 的 php 框架。

于 2013-06-28T14:04:59.873 回答
0

使用 WKHTMLTOPDF。奇迹般有效。它可以将任何页面转换为 PDF .. 通过执行以后的操作可以获得 jpeg。

http://code.google.com/p/wkhtmltopdf/

于 2013-06-28T14:18:06.160 回答
0

可以将 html 转换为图像。但是,首先您必须转换为 PDF。见链接

于 2015-05-06T21:32:10.560 回答