Pull to refresh
Comments 25
Огромнейшее спасибо! Очень давно искал удобный способ генерации pdf. Обязательно попробую.
Правильнее сказать «если ограничиваться Java». А вообще да, конечно, использование системных вызовов и достаточно объемного Inkscape'а является минусом при использовании для мелких нужд. Но в моем случае, я эту схему применял для создания web-приложения для печати пропусков на одном предприятии. Там уже была инфраструктура в виде web-сервера под ubuntu и большом числе приложений на php, потому эта схема оказалась идеальной.
при наличии веб-сервера под убунтой java явно не является проблемой.
другое дело что для php-программиста написать сервлет на java будет сложно, вот с этим согласен.
Мы пошли другим путем. Делаем темплейты на TeX - их проще править для случая таблиц (\longtable), которых у нас множество, после чего запускаем pdflatex и готов pdf.

Работает через web.
Я тоже сперва хотел описать, что таким же способом можно использовать целую кучу приложений как LaTeX, с неболшими ухищрениями OpenOffice, ведь принцип один и тот же. Но те кому надо, догадаются=)
Ваш способ очень хорош тем, что темплейты можно делать кучей способов. Я показал пост народу - будем смотреть.
"Adobe Illustrator, Corel Draw или Inkscape" — только бесплатны? :)
Вы можете использовать только бесплатный Inkscape. А можете, если у вас есть, использовать платные Adobe Illustrator или Corel Draw. As you wish=)
Inkscape уж очень тяжолая штука для сервера, нужны X-сы, насколько помню и пол Gnome что без dedicated-хостинга почти нереально. Потом например под FreeBSD последняя версия собиратся отказывалась, хотя может поправили уже, накосячили с разделяемой быблиотекой уборки мусора.
Попробуйте ReportLAB , всё может быть значительно проще и чище для системы.
У ReportLAB и прочих подобных библиотек есть одно важное различие с предложенным мною вариантом — это необходимость [i]менять код[/i] программы при изменении шаблона. При использовании этого метода все работы с шаблоном можно проводить [i]только в графической среде[/i]. Нужно учитывать, что в некторых областях важны не только затраты системных ресурсов, но и людских. Как я уже говорил, программу работающую по этому методу я создавал для предприятия, затратив минимум времени. При этом очень важно то, что поддержка такой программы в 10 раз проще решения с программируемым шаблоном.
В ReportLAB можна шаблонизировать и код менять не надо но это вопрос религиозный кому как Python нравится.
А насчёт статьи pdf- вы предлагаете генерировать на сервера по запросу пользователя. Значит нужен InkScape + XServer + Gnome и всё это на продакшин сервере и это только для генерации pdf, по моему тот же Batik с Java меньше потянет. Если всё это не будет оправдано очень серйозными аргументами то любой админ на такие поползновения сходу вам выскажет очень неприятные коментарии и будет прав. Хостинг dedicated вынесет никан не меньше 100 баков в месяц для очень большого количества проэктов такое разточительство неоправдано, только если генерация pdf есть killer feature для вашего приложения.
К Python'у я отношусь положительно, но это не имеет никакого отношения к разговору.
Да, именно так. Вы не услышали главного:
Как я уже говорил, программу работающую по этому методу я создавал для предприятия, затратив минимум времени. При этом очень важно то, что поддержка такой программы в 10 раз проще решения с программируемым шаблоном.

Какой хостинг? Это внутренний сервер предприятия. Вы просто мыслите другими категориями. Для вас, все что web — это интернет, но это далеко не так.

И раз уж разговор зашел о ReportLAB, опишите, каким образом в нем создаются шаблоны. Пример, вам нарисовали шаблон в векторном редакторе, как быстро вы сможете его вставить в программу?
> для предприятия
Тогда снимаю все вопросы. Мы просто о разных сферах применения подумали. Для них и требования разные.
О ReportLAB, я изначально не работал з произвольными шаблонами, там были формы где нужно задать Имя, Фамилию, и некоторые данные, а в результате генерировался pdf например с отчётом для налоговой. Будет время найду старые исходники и выложу примеры.
И да, я не против вашего комментария. ReportLAB поистине мощная вещь, затыкающая любые бесплатные средства доступные на PHP. Плюс вам, за упомнинание этой библиотеки в этой теме=))
Ну я думаю должны существовать обёртки или альтернативы этому решению. ReportLAB я упомянул, потому что это то чем пользовался и был удовлетворён качеством, а учитывая BSD лицинзию, цены этому пакету нет. Я не веб-разработчик (личный блог не в счёт), но админю разные системы достаточно времени чтобы видеть серйозные проблемы для production-системы у вашего решения. Хотя учитывая что желающих предложить рецепт альтернативный взгляд на проблему пока нет то новичок по крайней мере будет иметь от чего отталкиваться.
Я не говорю, что это панацея. Это лишь пример решения достаточно частной проблемы. Я думаю, вполне изящное решение, которое может сэкономить чье-нибудь время.
UFO landed and left these words here
UFO landed and left these words here
Спасибо, пригодится
ЗЫ:Эту бы статью да на полгода раньше, когда танцевали с русским языком в PDF. :-(
Only those users with full accounts are able to leave comments. Log in, please.