Как я могу изменить ориентацию моего 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.
Вариант -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");
Я думаю, это также стоит упомянуть здесь:
У меня также были проблемы с этим, но я установил ориентацию «Пейзаж», а также установил ширину 210 мм и ширину страницы «297 мм»,
Мой pdf-файл продолжал выходить в «Портрет», очень расстраивая.
Я был слишком откровенен. Выбрав параметры высоты страницы и ширины страницы, я решил проблему