使用wkhtmltopdf设置横向方向

时间:2013-05-30 10:17:04

标签: php pdf wkhtmltopdf

如何更改使用pdf生成的Wkhtmltopdf文件的方向。我在PHP中调用它,如下所示:

$file = fopen("tmp/html/pdfTmp_$numRand.html", 
    "w") or exit("Unable to open file!");
fwrite($file, $html);
fclose($file);

exec("..\library\wkhtmltopdf\wkhtmltopdf " . 
    "tmp/html/pdfTmp_$numRand.html tmp/pdf/pdfTmp_$numRand.pdf");

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=".$nom."_".$residence.".pdf");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize("tmp/pdf/pdfTmp_$numRand.pdf"));
ob_clean();
flush();
readfile("tmp/pdf/pdfTmp_$numRand.pdf");

$html在html中包含我的整个页面,这会打开一个临时文件。

以纵向方式生成.pdf。我知道wkhtlktopdf有一个选项-O landscape来改变方向,但我不知道在PHP脚本中我可以在哪里以及如何编写它。我正在使用Windows 7。

2 个答案:

答案 0 :(得分:29)

选项-O landscape可以解决问题。

只是chage

exec("..\library\wkhtmltopdf\wkhtmltopdf tmp/html/pdfTmp_$numRand.html tmp/pdf/pdfTmp_$numRand.pdf");

类似

exec("..\library\wkhtmltopdf\wkhtmltopdf -O landscape tmp/html/pdfTmp_$numRand.html tmp/pdf/pdfTmp_$numRand.pdf");

答案 1 :(得分:3)

我认为这也值得一提:

我也遇到了麻烦但是我设置了--orientation“Landscape”并设置了--page-height'210mm'和--page-width'297mm'

我的pdf一直在Portrait中出现,非常令人沮丧。

我太明确了。取出页面高度和页面宽度选项解决了我的问题