Лучший способ обрабатывать большие объемы статического текста, изображений при создании PDF с использованием iText - PullRequest
0 голосов
/ 21 сентября 2011

Мы собираемся использовать iText для создания большого отчета.Будет много статического текста и изображений, которые будут одинаковыми для каждого отчета.Затем мы вставим динамические данные из базы данных в отчет.Статические данные и динамические данные будут смешаны вместе, когда отчет будет завершен.Каков наилучший способ обработки статических данных.Мы собираемся использовать Java-сервлет в веб-приложении для создания отчета.Мы хотим, чтобы отчет был немедленно отправлен на веб-страницу, поэтому производительность очень важна.

Вот некоторые из идей, которые у меня были.Не уверен, что любая из этих идей является хорошей.

1.) Создайте PDF со статическим содержимым, а затем вставьте динамические данные.Если я пойду этим путем, как я узнаю, куда вставить динамические данные?Можно ли добавить в закладки место для вставки данных?

2.) Получить статические данные из базы данных.Кажется, что было бы трудно попытаться создать базу данных со статическим содержимым, которое должно учитывать такие вещи, как страницы, абзацы, заголовки, изображения.Я бы также подумал, что это не принесет больших результатов, если веб-сайт сильно пострадает.

3.) Кэшируйте статический контент в контексте сервлета.Это может повысить производительность, но все равно будет иметь те же проблемы с дизайном, что и база данных.

Мне бы хотелось получить несколько мнений о том, как лучше хранить большие объемы статического текста при создании PDF-файла с помощью iText.

Спасибо за помощь, Даг

1 Ответ

0 голосов
/ 21 сентября 2011

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

Hello #CUSTOMER_NAME#,  Thank you for the purchase of #RECENT_PURCHASES# on 
#RECEIPT_DATE#, for a total value of #RECEIPT_TOTAL#. ...

Как я уже сказал, это, вероятно, не идеально, но это действительно хорошо для моих нужд.

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