1

1) 我将“wkhtmltopdf-i386”重命名为“wkhtmltopdf”,并将“wkhtmltopdf”上传到我的服务器中名为“/usr/local/bin”的文件夹中

2)我上传了php集成脚本,在同一个文件夹中,并将其命名为“pdf_class.php”(https://github.com/aur1mas/Wkhtmltopdf/blob/master/Wkhtmltopdf.php)

我将这两个文件上传到“/home/kacmaz/domains/xxx.com/public_html/test_pdf/”

3)我在同一个文件夹中上传了一个名为“test.php”的文件,其中包含:

    <?php

include "pdf_class.php";

  try 
{
    $wkhtmltopdf = new Wkhtmltopdf(array('path' =>'/home/kacmaz/domains/xxx.com/public_html/test_pdf'));
    //$wkhtmltopdf = new Wkhtmltopdf(array('path' => APPLICATION_PATH . '/../public/uploads/'));
    $wkhtmltopdf->setTitle("Title");
    $wkhtmltopdf->setHtml("http://www.google.com");
    $wkhtmltopdf->output(Wkhtmltopdf::MODE_DOWNLOAD, "myfile.pdf");
} 
catch (Exception $e) 
{
    echo $e->getMessage();
}
?>

它创建像“779753975.html”“749335291.html”这样的文件到“/home/kacmaz/domains/xxx.com/public_html/test_pdf/”(文件是21字节,它写“http://www.google. com”在文件中)

但它给出了这个错误

WKHTMLTOPDF 没有返回任何数据

而且没有pdf文件,我该如何解决这个问题?

4

1 回答 1

1

我目前无法真正复制环境,但我建议尝试替换

$wkhtmltopdf->setHtml("http://www.google.com");

$wkhtmltopdf->setHtml("<h1>This Is A Test</h1><p>Ponies</p>");

看看会产生什么。听起来好像正在生成一些临时文件,并且 setHtml 将其内容写入临时文件,并且正在根据这些文件生成 pdf,这就是为什么您没有得到任何数据,因为它实际上不是 HTML 内容。

此外,与往常一样,在命令行中使用类似内容进行测试以查看其是否有效可能会消除一些问题。

于 2012-08-14T13:42:23.137 回答