Создание пользовательского макета PDF с помощью библиотеки Apache PDFBox в соответствии с заданным шаблоном? - PullRequest
0 голосов
/ 01 октября 2018

Как я могу использовать библиотеку Pdfbox для создания пользовательского макета PDF в соответствии с шаблоном?

Это шаблон: шаблон макета


Яоткрыть для использования других библиотек, если у него есть более элегантный способ достижения результата.Проект требует заполнить PDF данными, которые выбираются из базы данных, поэтому было бы полезно, если бы библиотека могла назначить id's определенному полю в макете PDF.

Например: В прикрепленном шаблоне есть id = fname для поля Faculty Name, чтобы данные из базы данных можно было добавлять в этот конкретный блок вместо заполнения текста.

То, что я считаю идеальным для такой проблемы, - это иметь template.(xml/html) и библиотеку, которая может генерировать PDF-файл для анализа этого шаблона с соответствующими им id's.


Библиотеки кандидатов, которые я нашел:

1: iText7

2: wkhtmltopdf


Стек, который мы используем:

Внешний интерфейс: шаблонизатор Thymeleaf с начальной загрузкой

Back-End: Spring-Boot, Hibernate.

База данных: H2 (для тестирования)

Build-Tool: Maven


Теперь, когда у вас есть контекст проблемы, какя могу получить данные из базы данных и заполнить PDF в соответствии с шаблоном?

1 Ответ

0 голосов
/ 03 октября 2018

Использование шаблона для предоставления макета является хорошим подходом по нескольким причинам, и, поскольку вы открыты для других подходов, вы можете взглянуть на Docmosis.Он использует документы Word или Libre Office в качестве шаблонов и объединяет их с данными JSON или XML (или другими). ​​

Здесь есть несколько визуальных примеров шаблонов , которые дают вам представление о том, как вы могли бы взять«Шаблон макета», который вы показали, спроектируйте его в документ Word или Libre Office и используйте его в качестве шаблона с Docmosis.

После того, как ваш шаблон спроектирован, вы можете запустить его через Docmosis с данными, чтобы уточнить PDFрезультаты к тому, что вам нужно.

Обратите внимание, я работаю на Docmosis.

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

...