【问题标题】:Content is not compatible as a PDF, using Snappy wkhtmltopdf内容不兼容为 PDF,使用 Snappy wkhtmltopdf
【发布时间】:2015-05-06 07:32:01
【问题描述】:

我正在做一个项目。我正在尝试使用我的图表和动态表格生成报告。我尝试使用 wkhtmltopdf 但我无法处理复杂性。但是,我阅读了 wkhtmltopdf 上其他问题的大部分答案,因此我决定尝试 snappy,这是一个建议。下面是我的代码。

  require_once 'C:/wamp/www/Mamca/lib/snappy/src/autoload.php';

  use Knp\Snappy\Pdf;

  $snappy = new Pdf('/usr/local/bin/wkhtmltopdf');
  header('Content-Type: application/pdf');
  header('Content-Disposition: attachment; filename="file.pdf"');
  echo $snappy->getOutput('http://www.github.com');

但是生成的pdf没有打开,pdf阅读器的错误提示“无法打开文件”

【问题讨论】:

标签: php wkhtmltopdf


【解决方案1】:

无需使用 snappy 将 html 转换为 pdf。在 snappy 上花了一天时间后,我使用 php 的简单 exec() 函数将 html 转换为 pdf。

$exe_path = '..path to your exe file..\wkhtmltopdf.exe';
$file_html_path = '..path of your html file..\report.html';
$file_pdf_path  = '..path of your pdf file..\report.pdf';

$cmd = <<<EOT
"$exe_path" --orientation "Landscape" --page-size "A4" --viewport-size 
"1280x1024" "$file_html_path" "$file_pdf_path" 2>&1
EOT;

//echo $cmd;die;
exec($cmd,$output,$return); 


Please note here:
$cmd is a command 
$output will return response of exec execute successfully or return error code and message
$return will return a boolean value 0 or 1 zero means success or 1 means error

【讨论】:

    【解决方案2】:
    require_once 'C:/wamp/www/Mamca/lib/snappy/src/autoload.php';
    
    use Knp\Snappy\Pdf;
    
    **$snappy = new Pdf('C://DEV/wkhtmltopdf/bin/wkhtmltopdf.exe');**
    header('Content-Type: application/pdf');
    header('Content-Disposition: attachment; filename="file.pdf"');
    echo $snappy->getOutput('http://www.github.com');
    

    我刚刚更改了 wkhtmltopdf 的路径,它工作了。

    【讨论】:

    • 我已经尝试了下面的代码,它似乎无法正常工作,收到错误“无法加载 PDF 文档”这是怎么回事(在 Windows 7 中下载了 snappy lib 并安装了 wkhtmltopdf)getOutput('github.com'); ?>
    • 您是否将 snappy 安装文件复制到该目录和 wkhtmltopdf 的目录?这就是你所需要的。请注意这一点,因为在我做对之前,我几天都遇到了同样的错误。与所有 html=css=pdf 转换器相比,snappy 的效果非常好。
    猜你喜欢
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多