Создать PDF из структурированных данных
-
02-07-2019 - |
Вопрос
Я хочу иметь возможность создавать PDF-файл с высокой степенью графической графики (в том числе с большим количеством текстового содержимого) на основе данных, которые у меня могут быть в базе данных, XML или любой другой структурированной форме.
В настоящее время наш графический дизайнер создает эти PDF-файлы в Photoshop вручную после получения содержимого в виде документа MS Word.Но обычно существует более 20 редакций контента;небольшие изменения кое-где, исправления орфографии и т. д.
2 недостатка:1) Время графического дизайнера занято без надобности.Первая версия — единственная, над которой ему/ей придется работать.2) PDF-файл становится документом, который теперь имеет окончательно измененное содержимое, а исходное содержимое не синхронизировано с ним.Поэтому, если исходный контент должен находиться где-то еще (например, на веб-сайте), нам нужно воссоздать его из файла PDF.
Создание PDF-файла поможет мне решить обе эти проблемы.Возможно, каким-то образом графический дизайнер создает «Шаблон», а затем помещает теги/держатели и сопоставляет эти теги/держатели с соответствующими данными.
Спасибо :-)
Другие советы
Для этого я использую библиотеку Python ReportLab.Возможно, это могло бы решить вашу проблему, но вам придется кое-что поработать...
Раньше я писал сценарии, которые выдавали LaTeX, а затем использовали texi2pdf чтобы решить такого рода проблему.
Взгляните на iReport и JasperReports по адресу http://jasperforge.org.iReport позволяет создавать отчеты, а затем вы можете либо программно заполнить их с помощью библиотеки JasperReports (Java), либо просто использовать iReport для создания отчета вручную.
Я использовал его только для табличных данных, но не думаю, что возникнут какие-либо проблемы с другими типами документов.
Вы можете создать форму и заполнить записи программно, используя библиотеку PDF, например iText (Java).
Вы можете посмотреть, как выполняется рабочий процесс в PostScript, который представляет собой обычный текст, который можно легко составить из фрагментов.Тогда вы можете использовать любой бесплатный инструмент для конвертации в PDF.
Взгляни на Принц XML.Этот инструмент позволяет создавать PDF-файлы на основе XML или HTML и CSS.
Возможный способ — использовать механизм шаблонов, например FreeMarker или StringTemplate:они часто используются для генерации HTML, но на самом деле они достаточно гибки для вывода любого формата.
Полагаю, проблема в том, чтобы сделать шаблон PDF.Возможно, вы можете взять образец вывода и отредактировать его, заменив данные заполнителями, которые будут заполнены механизмом шаблонов.Возможно, это не банально!
Похоже на работу, с которой службы SQL Server Reporting Services справятся довольно легко.
Службы Reporting Services позволяют запрашивать данные, определять макет и экспортировать в PDF без какого-либо вмешательства.Выходные данные PDF можно распространять по электронной почте, хранить в общей папке и получать к ним доступ через страницу на сервере отчетов.
Он также может обрабатывать источники данных XML.
Вы можете комбинировать CSStoXSLFO с XEP от RenderX для получения высококачественного результата.С помощью этого решения вы можете объединить данные XML в шаблон XHTML, украшенный CSS.Он также может создавать диаграммы с помощью фантастической библиотеки JFreeChart.Поддерживаются медиа-функции страницы CSS3.