Чем делать PDF-таблицы?
Вот есть задача: сделать довольно сложную табличку в PDF (~1000 чисел на половинке А4).
Понятно, что просто 12-м кеглем оно не влезет, плюс там нужны выделения (шрифтом, подчеркиваниями, фоном).
Пока тестируюсь - выгоняю все в HTML, а в PDF превращаю Word-2007 (отлично работает, кстати), но хочется этот генератор в онлайне (и результат - в PDF, ибо под распечатку).
Пробовал LaTeX, но тамошний табличный процессор меня не удовлетворил, слишком много места хочет и нужную мне таблицу даже на целую А4 размещает с трудом (а на половинку - никак не лезет).
Куды крестьянину податься? PDF::Table какая-то невозможно скучная штука.....
Есть ли коммандлайновый (и юниксный) софт, который может срендерить HTML в PDF ?
Update:
- wkhtmltopdf - очень похож на работающий, хотя и потребовал себе Xvfb (м.б. Qt так собран, надо разбираться).
Единственная пока проблема - греческий шрифт, у меня в табличках Φ и μПосле подсовывания Windows-шрифтов в fontpath - все полностью как надо. - htmldoc, наоборот, для моих задач не подходит т.к. стили документа полностью игнорирует.
- Firefox игнорирует фон у табличек (а у меня выделение ячеек сделано зеброй), что неприятно, остальное работает.
Comments
может проще латех подточить? наверняка там просто по умолчан
может проще латех подточить?
наверняка там просто по умолчанию пробелы больше, а тебя и меньшие устраивают.
Это по трудоемкости не лучше (а скорее сильно хуже), чем PDF
Это по трудоемкости не лучше (а скорее сильно хуже), чем PDF::Table насиловать.
Т.е. я так попробовал и меня стошнило :)
ну а plain TeX? LaTeX используя только для русификации.
ну а plain TeX?
LaTeX используя только для русификации.
Для plain tex я буду вынужден сам таблицы срендерить. Ну то
Для plain tex я буду вынужден сам таблицы срендерить. Ну то есть определить ширину столбцов (высота, по счастью, фиксирована) и в них нагадить.
А я сломался даже без вложенных таблиц (отчего таблица получается не 9x10 в каждой ячейке вложено еще 3x6 а сразу 27x60) - это я про PDF::Table
[бегло проглядев главу из все про тех] определять не надо. т
[бегло проглядев главу из все про тех]
определять не надо. тех сам.
Ну я посмотрел в какие-то примеры, там везде попадаются разм
Ну я посмотрел в какие-то примеры, там везде попадаются размеры. Не разбирался, размеры чего это были :)
я посмотрел последний рпимер в главе 22 -- никаких размеров,
я посмотрел последний рпимер в главе 22 -- никаких размеров, кроме общей ширины таблицы
ReportLab --- library to create PDF documents using Python (
ReportLab --- library to create PDF documents using Python (в дебиане -- python-reportlab)
Правда непонятно -- как оно с таблицами дружит.
Гы. Добро пожаловать в волшебный мир PDF-а Коротко: _норма
Гы. Добро пожаловать в волшебный мир PDF-а
Коротко: _нормального_ ничего нет, разве что в XSL-FO верстать. Но можно поизвращаться с http://code.google.com/p/wkhtmltopdf/. В действии на него можно посмотреть тут: http://www.pdfmyurl.com/.
А вебкит должен рулить. Буду смотреть, спасибо. Ресурсы мен
А вебкит должен рулить. Буду смотреть, спасибо.
Ресурсы меня мало парят, вряд ли больше сотни в день таких фигень будет делаться.....
Да ни фига он не рулит. Он умеет, например, разрывать страни
Да ни фига он не рулит. Он умеет, например, разрывать страницу посередине строки (верхняя половина букв на одной стр., нижняя на другой). И print-правила CSS-а плохо понимает. Но попробовать можно.
Ещё FF можно приспособить: http://jkroon.blogs.uls.co.za/it/scriptingprogramming/using-firefox-35-t...
Xvb очень не хочется :) Но да, решение, конечно.
Xvb очень не хочется :)
Но да, решение, конечно.
Докладываю 1) FF и под юниксом тоже - не печатает серый фон
Докладываю
1) FF и под юниксом тоже - не печатает серый фон в ячейках. Это типа фича такая.
2) wkhtmltopdf - полностью меня удовлетворяет (из принт-правил CSS мне нужен только перевод страницы :)
3) Проблема со шрифтами пропала подсовыванием виндовых через xset +fp, результат почти полностью устраивает (вот еще битмепы плохо масштабируются, некрасиво)
4) Разбиение страниц по полстроки - "известная фича вебкита" если в двух колонках таблицы строки не выровнены.
wkhtmltopdf очень похож на работающий солюшн, осталось тольк
wkhtmltopdf очень похож на работающий солюшн, осталось только найти греческие шрифты и научиться их ему подсунуть (на удаленной машине без X11 немножко сложно оказалось посмотреть....)
Спасибо!
XSL-FO - это для сильных духом. Хотя если табличка простая -
XSL-FO - это для сильных духом. Хотя если табличка простая - то может быть вполне ничего.
Ребята из дружественного подразделения, которое на этом своё решение построили, жаловались только, что open source библиотека для этого дела хреново работает под нагрузкой.
а pdf-принтеров под линукс разве нету?
а pdf-принтеров под линукс разве нету?
Ну есть CUPS (-PDF), но как бы это не было сохранение битмеп
Ну есть CUPS (-PDF), но как бы это не было сохранение битмепа в PDF.
Не, по-моему там честный дистиллер на базе ghostscript-а.
Не, по-моему там честный дистиллер на базе ghostscript-а.
Под Linux нет GDI - т.е. стандартного набора графических при
Под Linux нет GDI - т.е. стандартного набора графических примитивов, которые можно подать на вход pdf-принтера.
Соответственно, остается задача что подать на вход. Стандартным языком описания страниц в мире *nix является Postscript. Но если мы умудрились каким-то способом получить нужный Postscript, вопрос "а как из этого сделать pdf" уже не стоит. Ибо это и ежу понятно.
Есть, правда, еще Xprint - некая аналогичная GDI попытка сделать из набора вызовов API для рисования на экране набор примитивов для передачи принтеру. Но на сервере обычно нет X.
Не, ну действительно можно слепить самому из вебкита и просл
Не, ну действительно можно слепить самому из вебкита и прославиться в веках.
Но то что Давид посоветовал - пока выглядит наименее геморойно. Вот будут длинные выходные - буду пробовать.
<A HRef='http://jasperforge.org/projects/ireport'>iReport</A
iReport?
можно еще на PS сделать... [убегает]
можно еще на PS сделать...
[убегает]
Помнится я когда-то давно генерировал pdf-ы из html-я, получ
Помнится я когда-то давно генерировал pdf-ы из html-я, получая сначала postscript с помощью html2ps (скрипт такой перловый), а потом его в pdf ghostcript-ом. У html2ps было то ограничение, что он не умел резать таблицы на страницы (привет табличной верстке) но с настоящими таблицами, которые для табличного представления данных, справлялся неплохо.
Еще помнится, попадался мне TeX-овский формат, понимающий в качестве входного языка HTML. Вот что там было со сложными таблицами - не помню.
Еще есть вариант - openoffice.org умеет работать в headless режиме, и задачи типа "взять сто текстовых файлов и сохранить их в формате .doc" в этом режиме решает замечательно. По-моему задачу "взять файл в любом понимаемом формате и экспортировать в pdf" - тоже.
<q>Еще есть вариант - openoffice.org умеет работать в headle
Еще есть вариант - openoffice.org умеет работать в headless режиме
а это конкретно как?
и умеет ли он в этом режиме заменять catdoc?
Re: openoffice.org умеет работать в headless режиме
http://mpd.livejournal.com/35634.html
Re: openoffice.org умеет работать в headless режиме
если там есть ответ на мой вопрос, то он какой-то черезчур неочевидный
Re: openoffice.org умеет работать в headless режиме
В моём посте, конечно, более сложный вопрос обсуждается, но на ту же тему ("...в каждом из которых последовательно много раз конвертируется свой уникальный документ...").
Смотрим man catdoc:
Ваш вопрос был:
В моём посте есть ссылка на скрипт под названием unoconv, с сайта производителя:
Как вы понимаете, "MS-Word" и "plain text" - подпадают под определение "document format that OpenOffice understands".
Вот вам и замена catdoc в виде джаггернаута под названием OpenOffice+unoconv.
Ума не приложу, чего производители OpenOffice не суют что-либо подобное этому скрипту (тыщи их) в коробку... :-(
"Отвечаю ли я вам на ваш ответ"? :-)
P.S.: По-моему, PDF - это one-way фрмат, т.е. в него можно всё, что угодно, но вот из него - не всегда; это больше - векторная графика, эдакий SVG.
Re: openoffice.org умеет работать в headless режиме
на сарае тоже много что написанно, однако там дрова лежат.
формально такой путь прописан, а реально что получается, особенно с таблицами и внедренным екселем каким?
мой вопрос подразумевал, не "прописанна ли такая возможность", а "можно ли этим реально пользоваться и не блевать"
Re: можно ли этим реально пользоваться и не блевать
С внедренным экселем - не скажу, а с табличками в текстовых документах - очень даже приличный pdf делается.
Ещё читайте ниже комментарий.
Re: можно ли этим реально пользоваться и не блевать
причем тут пилять пдф?!
я хочу в почте, читаемой в mutt по ssh прочитать вордовый аттач.
мне нах pdf, svg и прочая ересь.
Re: хочу в почте, читаемой в mutt по ssh прочитать вордовый а
Ой-ой-ой!!!
Теперь моя очередь не понимать; я думал, что вы в тему поста, а там именно про PDF.
С "plain-text" - это уже не ко мне, но на моём дистрибутиве уж очень богатые фильтры для less (lesspipe.sh), может там чего можно найти, не знаю...
Извините, ради бога!
а тебе именно html? я вот выгонял достаточно сложные таблич
а тебе именно html?
я вот выгонял достаточно сложные таблички (детализации и счета операторские) через XML+XSLT:FO с помощью fop(http://xmlgraphics.apache.org/fop/). оно, правда, явовское ...
HTML у меня уже готовый и даже в нужный размер попал (было н
HTML у меня уже готовый и даже в нужный размер попал (было непросто :) и выглядит разумно.
Я, конечно, могу сгенерировать на каком-то другом маркап-языке, но не хотелось бы вляпаться как с latex, вчера на него полдня потерял (нужные мне 1000 элементов на А5 - влезают).
нуу ... боюсь что таки да, несколько часов уйдет ... зато та
нуу ... боюсь что таки да, несколько часов уйдет ... зато там в разЫ проще будет в размеры попадать, чем в html-е .... я как раз на него перешел, когда надоело с простым XSLT шаманить с выводом в html ...
Ну Х-З, если ничего не выйдет с вебкитом, туда тоже посмотрю
Ну Х-З, если ничего не выйдет с вебкитом, туда тоже посмотрю, не догоню, так хоть согреюсь.
они влезают не в html, а в рендеринге MSOffice и в тех фонта
они влезают не в html, а в рендеринге MSOffice и в тех фонтах, что ты выбрал.
а в латехе поди и фонт был другой, например менее плотный.
Они и в рендеренге Firefox влезают, MSOffice я только как PD
Они и в рендеренге Firefox влезают, MSOffice я только как PDF-генератор использовал.
а что не так в рендеринге FF?
а что не так в рендеринге FF?
Я хочу чтобы йузер на вебе вбивал десяток цифирок и получал
Я хочу чтобы йузер на вебе вбивал десяток цифирок и получал две пол-странички "отчета".
И не очень хочу давать эту табличку в HTML, хочу в PDF.
я про генерацию pdf, почему офис, почему не ff
я про генерацию pdf, почему офис, почему не ff
X-сервер на сервере не хочу поднимать, но это единственная п
X-сервер на сервере не хочу поднимать, но это единственная причина.
причем тут сервер? ты посмотрел на html FF. почему ты им же
причем тут сервер?
ты посмотрел на html FF. почему ты им же не генерил PDF, а запускал для этого ворд, затаскивал туда HTML и только после этого генерил PDF?
Потому что туп, необразован и возможности "печатать PDF" в ф
Потому что туп, необразован и возможности "печатать PDF" в файрфоксных менюшках не нашел.
странно <img src='http://zxy.spb.ru/print.png'>
странно
Под виндой такой красоты не видать.
Под виндой такой красоты не видать.
А что, напечатать на принтер
А что, напечатать на принтер Adobe PDF не судьба (или Acrobat не установлен)?
Так это же Windows/Mac
Так это же Windows/Mac only?
Мне на сервер, на сервере FreeBSD.
Пожалуй, буду более конкретен еще
1) есть личное применение - пяток табличек А5, в кофр положить, тут и офисом можно и чем угодно
2) но сама по себе штука мне кажется полезной (ждите анонса :), а значит нужен веб-сервис.
Ну вот, начали про офис,
Ну вот, начали про офис, кончили про FreeBSD (с этой дамой незнаком). Посмотрите в сторону ОпенОфис, может оттуда можно что прикрутить (под Win точно есть встроенная конверсия в PDF).
Вопрос задан в последней
Вопрос задан в последней строчке поста:
Есть ли коммандлайновый (и юниксный) софт, который может срендерить HTML в PDF ?
И на самом деле мне посоветовали аж три: OpenOffice, Firefox и приладу на WebKit. Которую приладу мой сервер сейчас и компилирует....
Хм, а задача _так_ стояла? Тогда http://www.pdfforge.org/pdf
Хм, а задача _так_ стояла? Тогда http://www.pdfforge.org/pdfcreator
Не, это Слава меня спросил, отчего я то что тестироал (3-я с
Не, это Слава меня спросил, отчего я то что тестироал (3-я строчка поста) не выгонял в PDF прямо Firefox-ом.
И продолжаю ее там не видеть
И продолжаю ее там не видеть
тьфу в генерации
тьфу в генерации
Значительное количество тяжелых решений (типа напечатать сче
Значительное количество тяжелых решений (типа напечатать счетов абонентам опсоса) делаются через XSL:FO и какой-нибудь процессор. Я бы взял XEP, конечно, хотя бы за название (ну и за то что я там немного поработал). Можно взять fo2pdf, но он посасывал там и тут, зато совсем бесплатный.
Flying Saucer
Я использую https://xhtmlrenderer.dev.java.net/ для конвертирования xhtml в pdf. У них в примерах есть java скрипт, который работает с командной строкой.
Кто о чём, а...
К комментарию выше могу лишь добавить, что славная библиотека wv сейчас всем советует переходить на AbiWord:
Ну, а так как AbiWord понимает html, то можно прямо сразу html -> pdf.
Re: Кто о чём, а...
Спасибо за наводку! Вероятно, правильно будет дать и эту ссылку (находится на 1 минуту, но всё же): http://www.abisource.com/wiki/AbiCommand
Re: Спасибо за наводку! ...AbiCommand
Ой, на здоровье, Такэси Кикудзирович! :-)
У меня ссылок - хоть отбавляй!
"ищущий да обрящет"
Я совсем дилетант, но очень хочу спросить: а через генерилку
Я совсем дилетант, но очень хочу спросить: а через генерилку PDF встроенную в MacOS это нельзя сделать?
У меня на "онлайн-версии" (которая когда-то будет) - FreeBSD
У меня на "онлайн-версии" (которая когда-то будет) - FreeBSD 6.
Я бы попробовал тривиальный вариант - засунул HTML внутрь Jo
Я бы попробовал тривиальный вариант - засунул HTML внутрь Joomla или WordPress, а они уже умеют из HTML PDF делать.
Про <a href="http://sanmai.livejournal.com/634503.html">unoc
Про unoconv уже говорили, нет?
Re: Про unoconv уже говорили, нет?
Да, здесь: http://alextutubalin.livejournal.com/191201.html?thread=1840353#t1840353
HTMLDOC
HTMLDOC ?
http://www.htmldoc.org/
Спасибо за совет, но он стили
Спасибо за совет, но он стили совсем не понимает....
Apache FOP
Можно на Apache FOP сделать, правда когда я на него смотрел (лет 5 назад) таблицы он верстал похабно. Возможно сейчас лучше стал