Какой модуль Perl лучше всего использовать для создания .pdf с нуля? - PullRequest
14 голосов
/ 17 февраля 2009

На CPAN имеется множество модулей, связанных с созданием и обработкой файлов .pdf, и я надеюсь, что это сообщество может сэкономить мне время на переходе в тупик.

Я хочу создать файлы .pdf с нуля, используя только простое форматирование, например полужирный / курсив и левое / правое / центральное выравнивание. С точки зрения MVC было бы неплохо использовать файл шаблона, но если лучший модуль этого не поддерживает, я в порядке. Я хочу лучший модуль для моего узкого набора задач.

Редактировать: давайте добавим ограничение, что он должен быть модулем Perl, если не чисто решением Perl. Спасибо за ответы до сих пор!

Обновление : создание PDF - одна из трудных проблем, с которой нужно решить, как подойти. В дополнение к хорошим предложениям здесь, по-видимому, существует около 1000 различных способов решения этой проблемы, и зная, в какое решение (ы) инвестировать свое время, является реальной проблемой. В процессе построения этого решения легко получить зависимости от внешних исполняемых файлов, поэтому я предпочел делать все в Perl, если это возможно.

Я пошел по пути использования PDF :: Create, но счел его слишком ограниченным. Вы должны указать координаты для размещения каждой строки текста, и нет встроенной концепции переноса текста ... это все, что вам нужно сделать. Невозможное количество накладных расходов для моей задачи.

Сейчас я использую PDF :: API2, который намного мощнее, чем PDF :: Create, но все же требует, чтобы PDF собирался на тревожно низком уровне. К счастью, есть некоторая помощь онлайн. См. Отличное учебное пособие Рика Мишэма по PDF :: API2 с сопровождающей подпрограммой text_block () , которое, к счастью, значительно облегчает проблему переноса текста.

Если вы не увидите здесь очередное обновление, это решение оказалось для меня подходящим.

Ответы [ 6 ]

7 голосов
/ 18 февраля 2009

Я являюсь автором модуля CPAN CAM :: PDF , который определенно не лучший инструмент для этой работы - он предназначен для высокопроизводительного редактирования, а не для создания.

Среди бесплатных библиотек для создания PDF мне больше всего нравится PDF :: API2. Он имеет очень богатый набор функций и хорошую поддержку шифрования (вдохновленный CAM :: PDF, я мог бы добавить!) Автор, Альфредо, управляет популярным списком адресов электронной почты. Иногда люди жалуются на документацию, но я считаю ее адекватной.

Среди коммерческих библиотек у меня был хороший опыт работы с pdflib.

6 голосов
/ 17 февраля 2009

На ум приходят три модуля для создания PDF (без определенного порядка) ....

PDF :: Шаблон дает вам тот вариант шаблона, который вы, возможно, жаждете? PDF :: Create кажется более простым (по крайней мере, из документов) и может более адекватно соответствовать вашим требованиям "простого форматирования".

Однако, если вы хотите узнать, что думает «сообщество», то только PDF :: API2 получает рейтинг по CPAN Ratings с 4 из 5 звезд общим баллом.

Надеюсь, это поможет.

PS. Отказ от ответственности: я не использовал ни один из этих модулей. Раньше я всегда обращался к XML / XSLT / XSL-FO, используя Apache FOP , а Perl использовался для создания исходных данных XML. Это может быть излишним для чего-то небольшого и не всегда идеальным, если вы хотите встроить создание PDF в свое приложение Perl.

PPS. Поэтому я также буду смотреть на эти модули CPAN PDF в ближайшем будущем!

5 голосов
/ 17 февраля 2009

Должен ли это быть модуль Perl? Вы всегда можете использовать LaTeX и конвертировать его в PDF. Не совсем так просто, но это еще один вариант.

2 голосов
/ 02 апреля 2009

G'day Marcus,

Рад, что вы нашли урок. Я много работаю в PDF :: API2, поэтому, если я могу чем-то помочь, просто дайте мне знать.

Естественно, я рекомендую PDF :: API2!

Есть парень Джей Ханна, который в настоящее время превращает текстовый блок в модуль для CPAN, который делает именно то, что вы хотите: жирный, курсив и т. Д. Если вы проверите список рассылки, вы увидите его сообщения вверху.

ура!

Рик Мишам

0 голосов
/ 06 апреля 2009

Как сохранить онлайн PDF-файл, используя Perl? http://www.nwcc.bc.ca/FNC/pdfs/Stepping%20Stones%20to%20improved%20Relationships%20-%20web.pdf

Я использую файл :: скачать. но проблема в том, что он не загружает URL со строками в кодировке URL.

Шарма

0 голосов
/ 17 февраля 2009

Да, сложно ответить, не зная точно, каковы ваши ограничения. Если чистый Perl не является необходимостью, я бы склонялся к DocBook .

Начальная разметка, которую вы создадите, может быть очень простым XML; и преобразование требует только XSL-процессора и оболочки что-то вроде FOP .

Apache
...