【问题标题】:How to Convert HTML/CSS to PDF in PHP on Linux如何在 Linux 上的 PHP 中将 HTML/CSS 转换为 PDF
【发布时间】:2012-05-06 22:21:55
【问题描述】:

我一直在尝试将 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

【问题讨论】:

  • 看看stackoverflow.com/questions/391005/… 并尝试搜索功能。 ;)
  • 既然你问得这么宽泛,而且你是 TIA 类型的人:请使用副本,K THX TIA! - 一步一步地浏览那里的答案。
  • Paul,您发送的主题与将我引导至 wkhmltopdf 库的主题相同,在尝试了上述步骤后,我决定寻求帮助
  • 请贴出您尝试过的代码(PHP)。如果没有看到您的代码,我们将无能为力。顺便说一句,“无法连接到 X 服务器”错误可能是因为运行 PHP 脚本的用户没有这样做的权限。你的环境是什么? X 是否正在运行,或者这是您远程连接的无头服务器?这是托管的还是内部的(即,您对盒子有完全的控制权)?
  • daiscog:我已经添加了代码,是的,我确实可以完全控制服务器。谢谢

标签: php linux pdf pdf-generation wkhtmltopdf


【解决方案1】:

我找到了解决方案,出现以下错误“No protocol specified wkhtmltopdf: cannot 连接到 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 的符号链接。

sudo ln -s /full_path/WKHTMLTOPDF /usr/bin/WKHTMLTOPDF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 2011-05-31
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    相关资源
    最近更新 更多