KnpSnappyBundle и Symfony 3.4: изображения и / или css вызывают тайм-аут - PullRequest
0 голосов
/ 03 мая 2018

Я установил KnpSnappyBundle в существующем проекте Symfony 3.4. Я протестировал генератор PDF с веткой HTML только с текстом, без изображений, без CSS, без JS: он отлично работает.

Затем я добавил (к ветке) изображение и файл Bootstrap.Css, используя абсолютный URL (я работаю на localhost): генератор PDF отображает ужасную ошибку:

The process "wkhtmltopdf --lowquality '/tmp/knp_snappy5aeb39ad71e767.56551505.html' '/tmp/knp_snappy5aeb39ad71ebf0.62787578.pdf'" exceeded the timeout of 60 seconds.

Что не так с комплектом? Я использую ноутбук i7 с 8 ГБ ОЗУ (Ubuntu 16.04), я не думаю, что это проблема конфигурации машины.

ОБНОВЛЕНИЕ: Я протестировал wkhtmltopdf из командной строки, и он действительно преобразовал мою веточку:

wkhtmltopdf http://127.0.0.1:8000/eshop/admin/order/print/2 out.pdf

Так что у wkhtmltopdf нет проблем с абсолютными URL на localhost!

Спасибо

1 Ответ

0 голосов
/ 08 ноября 2018

Нашел решение здесь: https://github.com/KnpLabs/KnpSnappyBundle/issues/82

Похоже, что wk не может найти ресурсы, используя абсолютный URL-адрес при вызове из пакета (поэтому при выполнении в оболочке), вы должны указать абсолютный путь. Создайте глобальную переменную ветки:

twig:
 globals:
  pathToWeb: "%kernel.root_dir%/../web"

Тогда в ветке используйте новую переменную вместо asset ():

<link ... href="{{ pathToWeb }}/css/bootstrap.min.css"/>
<img ... src="{{ pathToWeb }}/images/logo.png"/>

Работает как шарм

...