Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将网页动态转换为图像?_Php_Html_Pdf_Png - Fatal编程技术网

Php 将网页动态转换为图像?

Php 将网页动态转换为图像?,php,html,pdf,png,Php,Html,Pdf,Png,我想知道是否有任何方法可以将整个HTML页面转换为png(或其他类型的图像?)我正在尝试动态创建PDF,但它将我的样式转换为文本,但我希望样式与页面保持一致(cufon和所有)。任何帮助都将不胜感激!:) 这看起来并不简单。后端(PHP等)不进行渲染、布局。它只生成内容 网站的布局和视觉方面由客户端(浏览器)完成,后端无法访问 然而,给定一个HTML文件,有一些库可以将其呈现为PDF格式,就像这样 要生成与访问者在浏览您的网站时在浏览器中看到的内容相同甚至相近的图像,唯一的方法是启动浏览器并拍摄

我想知道是否有任何方法可以将整个HTML页面转换为png(或其他类型的图像?)我正在尝试动态创建PDF,但它将我的样式转换为文本,但我希望样式与页面保持一致(cufon和所有)。任何帮助都将不胜感激!:)

这看起来并不简单。后端(PHP等)不进行渲染、布局。它只生成内容

网站的布局和视觉方面由客户端(浏览器)完成,后端无法访问


然而,给定一个HTML文件,有一些库可以将其呈现为PDF格式,就像这样

要生成与访问者在浏览您的网站时在浏览器中看到的内容相同甚至相近的图像,唯一的方法是启动浏览器并拍摄屏幕截图。您需要浏览器的呈现引擎来呈现页面。所有不使用浏览器的库都会创建与访问者看到的内容大不相同的内容,并且根本不会呈现cufon或其他奇特的内容

提供网页截图预览的公司现在运行许多服务器,每个服务器运行许多虚拟PC,每个服务器运行完整的操作系统和真正的web浏览器。他们拥有所有这些系统来完成工作、在真实浏览器中打开网页、截图和保存图像。你不会用一点PHP脚本来复制它


使用PHP将网页转换为图像和PDF是一件非常痛苦的事情。解决方案通常需要操作系统级脚本、伪造的打印机驱动程序或屏幕捕获,这会导致设置相当脆弱。几年前,我遇到了同样的问题,并开始研究原生PHP扩展,该扩展利用Gecko引擎将HTML呈现为PDF,但从未完成


我见过的最好的答案不是将整个网页转换成PDF,而是将XML转换成PDF。是苹果用来从XML源生成多种格式的开发人员文档的商业工具,包括HTML和呈现精美的PDF。将XEP工具与PHP结合使用的好处是PHP可以很好地处理XML,因此您可以将生成的XML传递给XEP二进制文件,让它转换为PDF,然后用PHP处理生成的PDF文件。

考虑构建一个与您的网页相似的常规PDF文件:

-使用php构建。

-文件结构。

某些浏览器支持将文档打印为PDF的选项。你试过了吗?我试着在飞行中这样做,所以pdf的页面被创建,然后由用户打开/下载。哦,那么是一个自动化的解决方案吗?服务需要工作吗?哪个操作系统?在Mac OS X上,这是一个选项: