我一直在尝试将 html 页面转换为 PDF,但没有任何运气,我尝试使用 wkhtmltopdf (http://code.google.com/p/wkhtmltopdf/) 和同一开发人员提供的 PHP 类(http://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp)尽管以下命令在终端中正确执行:
wkhtmltopdf http:/www.googl.com test.pdf
由于以下错误,我无法在 PHP 中执行该命令: 无法连接到 X 服务器。
任何人都可以为我提供分步教程,以便能够将 html/css 转换为 PDF 文件,无论是使用 wkhtmltopdf 还是任何其他不错的解决方案。
提前致谢
这是我使用过的类http://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp
下面是我的代码
$html = file_get_contents("test.html");
$pdf = new WKPDF();
$pdf->set_html($html);
$pdf->render();
$pdf->output(WKPDF::$PDF_EMBEDDED,'sample.pdf');
下面是错误:
Fatal error: Uncaught exception 'Exception' with message 'WKPDF didn't return any data.
/usr/bin/wkhtmltopdf: /opt/lampp/lib/libxml2.so.2: no version information available
(required by /usr/lib/libgstreamer-0.10.so.0) No protocol specified wkhtmltopdf: cannot
connect to X server :0 </pre>' in /var/www/c4/components/com_wkhtmltopdf
/wkhtmltopdf.class.php:211 Stack trace: #0 /var/www/c4/components/com_wkhtmltopdf
/wkhtmltopdf.php(68): WKPDF->render() #1 /var/www/c4/components/com_wkhtmltopdf
/wkhtmltopdf.php(50): html2pdf() #2 /var/www/c4/index2.php(114): require_once('/var/ww...')
#3 {main} thrown in /var/www/c4/components/com_wkhtmltopdf/wkhtmltopdf.class.php on line 211
最佳答案
我找到了解决方案,出现以下错误“未指定协议(protocol) wkhtmltopdf: 无法 连接到 X 服务器:0”基本上是由使用 apt-get 安装的旧版本“wkhtmltopdf”引起的。解决方案是使用以下链接从 code.google 下载静态二进制文件: http://code.google.com/p/wkhtmltopdf/downloads/list
然后执行以下操作:
tar -jxvf wkhtmltopdf-0.11.0-static.tar.bz2
sudo aptitude install ia32-libs
接下来,您必须在/usr/bin 中创建一个指向 WKHTMLTOPDF 的符号链接(symbolic link)。
sudo ln -s /full_path/WKHTMLTOPDF /usr/bin/WKHTMLTOPDF
关于php - 如何在 Linux 上使用 PHP 将 HTML/CSS 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10329119/