【问题标题】:Convert HTML to Image in PHP without shell在没有 shell 的 PHP 中将 HTML 转换为图像
【发布时间】:2012-10-13 22:15:06
【问题描述】:

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

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

谢谢!!

【问题讨论】:

    标签: php html image


    【解决方案1】:

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

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

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

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

    幸运的是,现在有一个解决方案,形式为PhantomJS

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

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

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

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

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      这在纯 PHP 中是不可能的。

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

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

      【讨论】:

      • 好吧,我不固定使用 PHP。该页面会将内容显示为 HTML。我只是想给用户这个选项,如果他们想下载页面(这个 HTML 是一个日历),他们可以点击一个按钮,页面被保存为图像,然后用户可以保存它。
      • @user1083320:为什么图像需要看起来像 HTML 页面?
      • 图像有多重要?您可以制作一个不错的 print.css 样式表并鼓励用户打印为 PDF。
      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        使用 WKHTMLTOPDF。奇迹般有效。它可以将任何页面转换为 PDF .. 后面的操作可以得到一个jpeg。

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

        【讨论】:

        • 其实wkhtml2pdf需要shell访问
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2012-04-01
          • 1970-01-01
          • 2012-09-05
          • 2010-11-05
          • 2013-07-07
          • 1970-01-01
          • 2011-06-02
          • 2010-10-14
          相关资源
          最近更新 更多