wkhtmltopdf segfaults
Я пытаюсь поместить wkhtmltopdf на сервер virtualbox'Ed ubuntu 12.04 64bit. Пока безуспешно. Пакет из репозиториев хочет иметь запущенный xserver и статическую версию:
wkhtmltopdf google.com tesss.pdf
Loading pages (1/6)
QSslSocket: cannot resolve SSLv2_client_method ] 10%
QSslSocket: cannot resolve SSLv2_server_method
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
QPixmap: Cannot create a QPixmap when no GUI is being used===] Page 1 of 1
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
QPixmap: Cannot create a QPixmap when no GUI is being used
Segmentation fault
любой идеи, как я могу подойти к этому?
4 ответов
http://code.google.com/p/wkhtmltopdf/issues/detail?id=730
в основном, он был исправлен около года назад, но до сих пор не был выпущен. Какой ужас :(
попробуйте использовать 0.10.0_rc2 версия вместо этого, что отлично сработало для меня
ошибки QPixmap не вызывают ошибки сегментации. На самом деле, добавив --disable-javascript
option решает проблему. Вы все равно получите предупреждения, но PDF генерируется правильно. HTH.
используется двоичный файл: wkhtmltopdf 0.11.0 rc1 linux i386
Я видел ошибки сегментации при преобразовании страниц с встроенным API Google Maps JS. В этих случаях был создан выходной файл размером 0 байт. Не нашел решения для запуска этой версии с помощью различных аргументов командной строки в wkhtmltopdf.
наконец-то перешли к Google Maps статический API для предотвращения тяжелой работы JS, которая, по-видимому, вызывает проблему. Это просто встраивает карту как статическое изображение, которое выглядит довольно хорошо при печати, если вы поставляете scale=2 в качестве опции.
У меня была аналогичная проблема (segfault) и выяснилось, что у меня был предел ulimit-v (виртуальная память), установленный при выполнении wkhtmltopdf из apache. Все работало нормально из командной строки при использовании той же команды.
Я смог подогнать его, добавив команду с ulimit следующим образом: "ulimit-v 1073741824; wkhtmltopdf-буква размера страницы ...."