Я использую phpwkhtmltopdf, как описано здесь Как получить WKHTMLTOPDF для выполнения через PHP?
конвертировать HTML в PDF
set_time_limit (0);
require_once __DIR__.'/vendor/autoload.php';
use mikehaertl\wkhtmlto\Pdf;
$pdf = new Pdf;
$pdf->addPage('<html><h1>PDF creation successfull</h1></html>');
$pdf->send('test.pdf');
if (!$pdf->send('test.pdf')) {
throw new Exception('Could not create PDF: '.$pdf->getError());
}
когда я запускаю это, я получаю следующую ошибку
Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Не удалось
создать PDF: загрузка страниц (1/6) [>] 0% [======>] 10% ‘в
/home/kpninfotech/public_html/pdfbin/convert.php:30 Трассировка стека: # 0
{main} добавлено в /home/kpninfotech/public_html/pdfbin/convert.php в
строка 30
Я также пытался запустить команду exec из php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$cmd = "/usr/bin/wkhtmltopdf http://www.kpninfotech.com test.pdf 2>&1";
echo $t = exec($cmd);
exit();
Здесь также я получаю ту же ошибку
[>] 0% [======>] 10%
Но преобразование PDF успешно выполняется при выполнении через SSH
Но я не мог выполнить через PHP, как я могу выполнить его через PHP?
У меня есть VPS сервер под управлением Centos 6.5, wkhtmltopdf версия 0.12.1 (с исправленным QT)
Я решил эту проблему Disable-Javascript.
Попробуй это.
use mikehaertl\wkhtmlto\Pdf;
$pdf = new Pdf(array('disable-javascript'));
$pdf->addPage('<html><h1>PDF creation successfull</h1></html>');
$pdf->send('test.pdf');
if (!$pdf->send('test.pdf')) {
throw new Exception('Could not create PDF: '.$pdf->getError());
}
Других решений пока нет …