Comments 8
А в две колонки текст разбивает корректно? С «правильной» нарезкой по страницам?
0
Попробуйте печать в PDF с помощью chromium-browser:
exec('chromium-browser --headless --disable-sync --disable-gpu --no-first-run --hide-scrollbars --enable-automation --password-store=basic'
.' --run-all-compositor-stages-before-draw'
. ' --window-size=1920,1080 --no-sandbox'
.' --print-to-pdf='.escapeshellarg($pdfPath).' --no-margins'
.' '.escapeshellarg('file://'.$htmlFile), $output, $exitcode);
0
Вооще да, раньше такое было принято пилить отдельно от процесса энжинкса и просто передавать запрос на соответствующий бекенд для процессинга. Да, не фильтр, но можно же сложить содержимое ответа в файл, а потом отдать его хедером в бекенд на той же машине. Может это всё уже старо как мир и энжинкс стал таки сервером приложений.
+1
Я все таки не понял, что не так с wkhtmltopdf? Сишный демон зависает если процес больше минуты ждёт io? Тогда как нджинкс решает данную проблему? Тем что там готовый плагин компилится?)
Мы у себя как раз взяли wkhtmltopdf и сворганили на go обёртку микросервис для http api — https://github.com/opsway/documents работает как часы.
+1
Мы у себя как раз взяли wkhtmltopdf и сворганили на go обёртку микросервис для http api — github.com/opsway/documents работает как часы.Дак у вас используется обёртка над консольным wkhtmltopdf!
Т.е. при каждой генерации запускается новый процесс wkhtmltopdf.
К тому же, в nginx и так уже есть готовый плагин для запуска внешних программ, с помощью которого не составит труда запускать в том числе и консольный wkhtmltopdf.
0
Пока из опыта работы с wkhtmltopdf я столкнулся только с одной проблемой — при генерации протоколов с количеством страниц более 300 демон умирает на этапе установки нижних колонтитулов. Без колонтитулов нормально, формируется… но если их включить то он уже не может отработать.
Так-же есть проблема с формированием документа если в ячейске таблицы текста больше чем может вместиться в 1 станицу. В таком случае часть теста переходит на другую страницу и идет наложение на текст следующей ячейки.
Так-же есть проблема с формированием документа если в ячейске таблицы текста больше чем может вместиться в 1 станицу. В таком случае часть теста переходит на другую страницу и идет наложение на текст следующей ячейки.
0
Sign up to leave a comment.
Articles
Change theme settings
Рецепты Nginx: преобразование из HTML и URL в PDF и PS