Используйте 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.

Author: Eric Leschinski, 2013-05-30

2 answers

Опция -O landscape сделает свое дело.

Просто чаге

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");
 26
Author: Mantas, 2015-03-03 23:18:14

Я думаю, что об этом также стоит упомянуть здесь:

У меня тоже были проблемы с этим, но я установил --ориентацию "Ландшафт", а также установил --высоту страницы '210 мм' и --ширину страницы '297 мм'

Мой PDF-файл продолжал выходить в портретном виде, что очень расстраивало.

Я был слишком откровенен. Удаление параметров высоты и ширины страницы решило проблему для меня

 2
Author: DamienB, 2016-08-31 21:27:13