Вопрос

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

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

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

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

Спасибо :-)

Это было полезно?

Решение

Для этого есть несколько инструментов.XSL-FO полезен. Здесь это руководство по созданию PDF-файла из xml (или xhtml) с помощью Cocoon.Также см Апач ФОП.

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

Другие советы

Для этого я использую библиотеку 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.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top