我正在从事一个项目。我试图使用我的图表和动态表格生成报告。我试图使用 wkhtmltopdf ,但我无法处理复杂性。但是,我在 wkhtmltopdf 的其他问题上阅读了大部分回答,所以我决定尝试snappy这是一个sugeestion。下面是我的代码。
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阅读器状态的错误"无法打开文件"
答案 0 :(得分:2)
没有必要使用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
答案 1 :(得分:1)
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的路径并且它有效。