"Wkhtmltopdf не вернул никаких данных" с CakePHP
Я использую среду CakePHP 2.8 и хочу напечатать PDF с wkhtmltopdf. Когда-то я мог создать PDF, затем я не использовал его несколько недель, потому что работал над чем-то другим. Сегодня я возобновил работу над этим и получил сообщение об ошибке:
"WKHTMLTOPDF didn't return any data"
APP/Plugin/CakePdf/Pdf/CakePdf.php line 236 → WkHtmlToPdfEngine->output()
APP/Plugin/CakePdf/View/PdfView.php line 97 → CakePdf->output(string)
CORE/Cake/Controller/Controller.php line 963 → PdfView->render(null, null)
CORE/Cake/Routing/Dispatcher.php line 200 → Controller->render()
CORE/Cake/Routing/Dispatcher.php line 167 → Dispatcher->_invoke(InvoicesController, CakeRequest)
APP/webroot/index.php line 109 → Dispatcher->dispatch(CakeRequest, CakeResponse)
Моя машина - MacBook Pro с El Capitan. Кроме того, я подумал, что это может быть обновление El Capitan, но затем я установил wkhtmltopdf в равную систему с CakePHP 2.8, и он работает на этой машине. К сожалению, я понятия не имею, что я могу сделать. Я переустановил wkhtml и снова обновил CakePHP, но без шансов:-(
Может кто-нибудь мне помочь?
1 ответ
Наконец-то я это сделал. Сначала я удалил все файлы wkhtmltopdf /img в usr/local/bin, а затем изменил wkthmltopdf с 64-битной на 32-битную. Хотя у меня есть 64-битная система, она работает с 32-битной, но не с 64-битной. Не спрашивайте меня, почему это работает, но это работает для меня!
Та же ошибка, в моем случае другая причина.
Я узнал, что проблема была в патче QT. Тогда wkhtmltopdf не хватает некоторых функций, и это указано в нижней части wkhtmltopdf помощи
Reduced Functionality:
This version of wkhtmltopdf has been compiled against a version of QT without
the wkhtmltopdf patches. Therefore some features are missing, if you need
these features please use the static version.
Currently the list of features only supported with patch QT includes:
* Printing more than one HTML document into a PDF file.
* Running without an X11 server.
* Adding a document outline to the PDF file.
* Adding headers and footers to the PDF file.
* Generating a table of contents.
* Adding links in the generated PDF file.
* Printing using the screen media-type.
* Disabling the smart shrink feature of WebKit.
Решение - использовать исправленную версию:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
mv wkhtmltox/bin/wkhtmlto* /usr/bin/
ln -nfs /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
Источник: https://gist.github.com/yajra/80ae402e2084191cd1f6e17fa581320e