LINUX.ORG.RU
ФорумTalks

Чем генерить pdf?

 


1

2

Подскажите плиз как сейчас модно на backend генерить pdf из html? Раньше был вроде какой то форк хромиума, а сейчас как и что для такой задачи используют? Насколько я понимаю в хроме генерация pdf эталонная, может отдельная тулза есть на база этого его модуля или как сейчас это принято?

★★

Последнее исправление: quester (всего исправлений: 1)
Ответ на: комментарий от Zhbert

Тоже об этом подумал. Markdown или LaTeX можно легко генерить из любого ЯП и затем уже компилировать в PDF.

Но человек толком не объяснил, что ему нужно. Возможно, он просто хочет сохранять произвольные страницы в виде PDF.

Bagrov ★★★★★
()
Ответ на: комментарий от l4gfcm

Из последних обсуждений прихожу к тому, что latex только и годится, что бы генерировать.

Ты как-то двояко так написал, то ли высмеиваешь латех, то ли наоборот к нему пришел…

Zhbert ★★★★★
()
Ответ на: комментарий от romanlinux

В гугл хроме открываешь страницу, потом жмешь Ctrl + P

В бэкенде?

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Рассматривал для изучения. Покуда MD достаточно. Но таки да, буду иметь ввиду, что генерить лучше latex.

l4gfcm ★★
()

Насколько я понимаю в хроме генерация pdf эталонная, может отдельная тулза есть на база этого его модуля или как сейчас это принято?

chromium --headless --disable-gpu --print-to-pdf=lor.pdf https://linux.org.ru
Difrex ★★★★
()
Ответ на: комментарий от Bagrov

хочу генерировать pdf документы - например договор между клиентом и компанией с подставленными паспортными данными клиента. раньше на форке хрома я билеты в pdf генерил - получалось прекрасно

quester ★★
() автор топика
Ответ на: комментарий от quester

можно на пальцах как это сделать?

Там все просто. Самый простой способ: берешь готовый текст и правишь под свои нужны. Если делал что-то на html, то и тех осилишь, там ничего особо сложного нет. Я осилил за три для до написания в нем дипломного проекта.

Пример:

Исходник, готовая pdf

Zhbert ★★★★★
()
Ответ на: комментарий от l4gfcm

Ещё и в крайне непонятной формулировке.

Он спрашивает, как ему накиданный в латехе текст сконпелять в pdf в чОрной консоли (бэкенде) сайта или веб-приложения.

Zhbert ★★★★★
()
Ответ на: комментарий от quester

ok, а запускать что и как из скрипта?

Ну а сам погуглить не хочешь попоробовать? Или будешь на каждый чих сюда бежать?

Вкратце: генеришь бэкэндом своим файл *.tex. Это, грубо говоря, текст с тэгами, по которым будет генериться потом pdf. А потом натравливаешь на него pdflatex, или как он там называется. И все, получаешь готовую pdf.

Пакеты и прочее - это тебе скорее в самой верстке нужны, нежели в конпелянии. А вот что и как - гоу в гугль или в книгу.

Zhbert ★★★★★
()
Ответ на: комментарий от l4gfcm

как я понял ты это уже юзал, значит можешь подсказать. я без понятия что и как вызывать из bash чтобы сконвертить tex в pdf, не делал этого никогда.

quester ★★
() автор топика
Ответ на: комментарий от quester

Тебе шашечки или ехать? Если нужно в pdf страничку, то хром в хевдесс режиме идеальный вариант. На linux сервак без иксов встает нормально, если сравнивать с латехом, то еще не известно кто из них больший тяжеловес.

Norgat ★★★★★
()
Ответ на: комментарий от quester
  1. Делаешь шаблон LaTeX, убеждаешься, что он свободно компиллируется pdflatex.
  2. Пишешь на PHP, Node.JS, Java, или что там у тебя, генератор документа с подстановкой переменных из формы. Ну или генерируешь отдельный файл вида «переменная = значение» и используешь способность TeX инклудить документы и подставлять значение переменных.
  3. Компилируешь сгенерированный файл или шаблон со сгенерированным инклудом при помощи pdflatex.
Bagrov ★★★★★
()
Ответ на: комментарий от Zhbert

нужно почитать. там стили как я понимаю то-же есть (как в html) и документ можно сделать не хуже кем на html/css в плане дизайна?

quester ★★
() автор топика
Ответ на: комментарий от quester

там стили как я понимаю то-же есть (как в html) и документ можно сделать не хуже кем на html/css в плане дизайна?

Нет. Это система типографической верстки. На выходе ты получаешь четкий, классный документ, готовый в печать, а не пердящее кривое говно, как на этом вашем html.

Zhbert ★★★★★
()
Ответ на: комментарий от turtle_bazon

да, это все классно, просто может быть есть отдельная тулза на базе этого модуля хромиума/хрома (а я о ней не знаю потому и спрашиваю) и которая запускается чуть быстрее, памяти ест чуть меньше и потому будет более предпочтительна в сервисе на который например будет большая нагрузка по генерации pdf

quester ★★
() автор топика
Ответ на: комментарий от quester

В догонку добавлю, что есть ещё обвязка для хромиума — puppeteer. Вдруг ты что-то нетривиальное делаешь, может пригодиться.

WitcherGeralt ★★
()
Ответ на: комментарий от quester

Если будет на базе хромиума, то памяти есть не будет меньше. А так просто запросы на генерацию в очередь складывай и генерируй в фиксированное количество потоков. Тогда по нагрузке не просядешь.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

Если будет на базе хромиума, то памяти есть не будет меньше. А так просто запросы на генерацию в очередь складывай и генерируй в фиксированное количество потоков. Тогда по нагрузке не просядешь.

не превысишь возможности сервера это да, однако если скажем использовать модуль из хрома (вдруг кто-то уже выдрал его оттуда, а я не знаю - потому и спрашиваю тут) то потоков можно повесить больше и задач в единицу времени обработать то-же больше

quester ★★
() автор топика

из html

Чота ты какой та на полшишечки. Из json надо, попивая смузи, стоя на гироскутере. PdfMake - рекоммендации лучших девственников!

TooPar
()
Ответ на: комментарий от l4gfcm

latex только и годится, что бы генерировать.

Боюсь представить, для чего ты его пытался использовать.

Shadow ★★★★★
()
Ответ на: комментарий от Norgat

если сравнивать с латехом, то еще не известно кто из них больший тяжеловес.

Вы не шутите? Помню латех на 80286 под досом, например.

Shadow ★★★★★
()

Вот это тоже должно как-то уметь. Я так понимаю, что ему на вход надо дать соотвествующий JavaScript, который напечатает. Сама функция генерации pdf есть.

$ aptitude search phantomjs
p   phantomjs  - minimalistic headless WebKit-based browser with JavaScript API 
Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)

Если там не слишком много JS, то pandoc.

snizovtsev ★★★★★
()
Ответ на: комментарий от Shadow

PS - простой язык, наследник Prolog и «Лого-черепашки»

Ну никак не Пролога и Лого. Близкий родственник Форта.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.