【发布时间】:2012-10-13 22:15:06
【问题描述】:
我想要将 HTML 转换为图像并将结果显示给用户的选项。我将使用 PHP 创建一个 $html 变量,而不是使用 echo $html 显示,我想将其显示为图像,以便用户可以在需要时保存文件。
我希望有像 $image = convertHTML2Image($html); 这样简单的东西。 :p 如果存在?!
谢谢!!
【问题讨论】:
我想要将 HTML 转换为图像并将结果显示给用户的选项。我将使用 PHP 创建一个 $html 变量,而不是使用 echo $html 显示,我想将其显示为图像,以便用户可以在需要时保存文件。
我希望有像 $image = convertHTML2Image($html); 这样简单的东西。 :p 如果存在?!
谢谢!!
【问题讨论】:
正如@Pekka 所说,将 HTML 代码转换为图像的工作是成熟的网络浏览器的工作。
如果你想做这种事情,那么你需要一个脚本来执行以下操作:
传统上,这将是一项艰巨的任务,因为网络浏览器通常由用户驱动,并且不容易以这种方式自动化。
幸运的是,现在有一个解决方案,形式为PhantomJS。
PhantomJS 是一款无头浏览器,专为这类事情而设计——需要成熟渲染引擎的自动化任务。
它基本上是一个完整的浏览器,但没有用户界面。它以与其他浏览器完全相同的方式呈现页面内容(它基于 Webkit,因此结果类似于 Chrome),并且可以通过脚本进行控制。
正如 PhantomJS 主页上所说,它的目标用例之一是截取网站的屏幕截图或缩略图。
(它的另一个好处是对您的网站进行自动化测试,它也是一个很棒的工具)
希望对您有所帮助。
【讨论】:
这在纯 PHP 中是不可能的。
您所谓的“转换”实际上是一项艰巨的任务:必须渲染 HTML 页面。要在 PHP 中执行此操作,您必须重写整个 Web 浏览器。
您要么必须使用外部工具(通常利用浏览器的渲染引擎),要么必须使用 Web 服务(其作用相同)。
【讨论】:
你可以看看dompdf,这是一个将html文件转换为pdf的php框架。
【讨论】:
使用 WKHTMLTOPDF。奇迹般有效。它可以将任何页面转换为 PDF .. 后面的操作可以得到一个jpeg。
【讨论】:
可以将 html 转换为图像。但是,首先您必须转换为 PDF。见link
【讨论】: