PDF, созданный с использованием приведенного ниже кода, не закончил рендеринг javascript, поэтому javascript был предварительно сформирован на половине таблиц (скажем, если есть 100 таблиц, а иногда 50, другие – 52, 54 и т. Д.).
Я использую флаг --javascript-delay 40000
в попытке задержать извлечение страницы, но результаты одинаковы. Он по-прежнему слишком быстро нажимает на спусковой крючок. Я знаю, что это проблема, потому что когда я использую браузер, все работает правильно.
Как правильно установить задержку? Может быть, shell_exec
здесь виноват?
$command = shell_exec("xvfb-run -a -s '-screen 0 640x480x16' wkhtmltopdf-i386 --dpi 300 --javascript-delay 40000 --page
РЕДАКТИРОВАТЬ:
используя версию:
wkhtmltopdf-0.11.0_rc1
Нашел проблему после поиска часов. wkhtmltopdf останавливает медленные скрипты:
Loading pages (1/6) Warning: A slow script was stopped Counting pages (2/6) Resolving links (4/6) Loading headers and footers (5/6) Printing pages (6/6)
Поэтому мне нужно было использовать флаг --no-stop-slow-scripts
:
$command = shell_exec("xvfb-run -a -s '-screen 0 640x480x16' wkhtmltopdf-i386 --no-stop-slow-scripts --dpi 300 --page-size A4 $page /tmp