Создать PDF из структурированных данных - PullRequest
3 голосов
/ 22 сентября 2008

Я хочу иметь возможность генерировать очень графический (с большим количеством текстового содержимого) PDF-файл из данных, которые я мог бы иметь в базе данных или в XML или в любой другой структурированной форме.

В настоящее время наш графический дизайнер создает эти файлы PDF в Photoshop вручную после получения содержимого в виде документа MS Word. Но обычно существует более 20 ревизий контента; небольшие изменения здесь и там, правописание и т. д.

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

Создание файла PDF поможет мне решить обе эти проблемы. Возможно, каким-то образом графический дизайнер создает «Шаблон», а затем вставляет теги / держатели и сопоставляет эти теги / держатели с соответствующими данными.

Спасибо: -)

Ответы [ 11 ]

2 голосов
/ 22 сентября 2008

Есть несколько инструментов для этого. XSL-FO полезен. Здесь - учебник по созданию PDF из xml (или xhtml) с помощью cocoon. Также см. Apache FOP .

Вы можете отформатировать данные SQL как XML и при этом использовать те же шаблоны.

1 голос
/ 22 сентября 2008

Вы можете создать форму и заполнить записи программно, используя библиотеку pdf, такую ​​как iText (Java).

1 голос
/ 22 сентября 2008

Взгляните на iReport и JasperReports на http://jasperforge.org. iReport позволяет создавать отчеты, а затем вы можете либо программно заполнить его библиотекой JasperReports (Java), либо просто использовать iReport для создания отчета вручную.

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

1 голос
/ 22 сентября 2008

В прошлом я писал сценарии, которые выплевывали LaTeX, а затем использовали texi2pdf для решения такого рода проблем.

1 голос
/ 22 сентября 2008

Для этого я использую библиотеку Python ReportLab. Возможно, это решит вашу проблему, но вам нужно будет поработать ...

0 голосов
/ 09 августа 2017

Вы можете комбинировать CSStoXSLFO с XEP от RenderX для получения высококачественного результата. С помощью этого решения вы можете объединить данные XML в шаблон XHTML, который оформлен с помощью CSS. Он также может генерировать графики с фантастической библиотекой JFreeChart. Поддерживаются CSS3 функции медиа страницы.

0 голосов
/ 16 марта 2013

Другой подход к созданию PDF-файла из данных - использовать prawn , основанный на ruby ​​. Я был очень приятно удивлен тем, сколько функциональности включено в креветки. Это может потребовать некоторых предварительных инвестиций, но этот подход даст вам большую гибкость.

0 голосов
/ 22 сентября 2008

Похоже на работу, которую службы отчетов SQL Server могут выполнять довольно легко.
Службы Reporting Services позволяют запрашивать данные, определять макет и экспортировать в PDF без какого-либо вмешательства. Вывод PDF можно распространить по электронной почте, сохранить в общей папке и получить доступ через страницу на сервере отчетов. Он также может обрабатывать источники данных XML.

0 голосов
/ 22 сентября 2008

Возможный способ - использовать шаблонизатор, такой как FreeMarker или StringTemplate: они часто используются для генерации HTML, но на самом деле они достаточно гибкие для вывода любого формата.
Проблема в том, чтобы сделать шаблон PDF, я полагаю. Возможно, вы можете взять пример вывода и отредактировать его, чтобы заменить данные заполнителями, которые будут заполнены механизмом шаблонов. Не может быть тривиальным!

0 голосов
/ 22 сентября 2008

Взгляните на Prince XML . Этот инструмент позволяет создавать PDF на основе XML или HTML и CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...