Проблемы при создании PDF-отчета из-за огромных данных - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть эта проблема при создании отчетов в формате PDF. У меня есть огромные данные в моей базе данных. Когда я генерирую отчет в виде HTML, я мог бы использовать разбиение на страницы для фильтрации результатов, чтобы было меньше данных для обработки и отображения пользователю. Тем не менее, в случае с отчетом в формате pdf, я не думаю, что было бы хорошо, чтобы клиенты получали pdf постранично. Все данные лучше показывать в одном файле PDF. Если я это сделаю, то это будет занимать много времени и памяти для поколения. Каков наилучший способ для достижения такой функции. Создание такого отчета приведет к превышению времени ожидания сервера и огромному потреблению памяти.

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

Каков наилучший подход?

1 Ответ

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

Вы можете подойти к этому так:

  • Извлечение записей из вашей базы данных, скажем, из 100 записей (вы можете дополнительно настроить это, основываясь на том, сколько записей помещается на одной странице PDF)
  • Для каждого пакета создайте отдельный одностраничный PDF-файл (запись во временную папку в файловой системе)
  • После обработки всех записей (пакетов) объедините PDF-файлы, используя один из различных инструментов для сборки / объединения PDF-файлов, доступных в Интернете, в один результирующий PDF-файл.
...