在没有shell的情况下在PHP中将HTML转换为Image

use*_*320 5 html php image

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

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

谢谢!!

Spu*_*ley 13

正如@Pekka所说,将HTML代码转换为图像的工作是一个成熟的Web浏览器的工作.

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

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

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

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

PhantomJS是一款无头浏览器,专为此类设计而设计 - 需要完整渲染引擎的自动化任务.

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

正如它在PhantomJS主页上所说,它的一个目标用例是截取网站的截图或缩略图.

(另一个很好的用途是自动测试您的网站,它也是一个很棒的工具)

希望有所帮助.


Pek*_*ica 3

这在纯 PHP 中是不可能的。

你所谓的“转换”实际上是一项巨大的、不平凡的任务:必须渲染HTML 页面。要在 PHP 中执行此操作,您必须重写整个 Web 浏览器。

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