У меня есть отчет, который может сгенерировать более 30 000 записей, если дать достаточно большой диапазон дат.С точки зрения HTML, такой большой набор результатов не является проблемой, так как я реализую систему разбивки на страницы, которая ограничивает видимые результаты до 100 в данный момент времени.
Моя настоящая проблема возникает, когда пользователь нажимает «Get»PDF "кнопка.Когда это происходит, я, по сути, повторно запускаю часть отчета, в которой печатает данные (результаты самого отчета хранятся в таблице «сохранения», поэтому нет необходимости повторно запускать данные -сбора логики) и сохраните результаты в переменной с именем $html
.Помните, что теперь эта переменная содержит 30 000 записей данных, а также HTML-код, необходимый для правильного форматирования в PDF.После создания этой HTML-строки я передаю ее в TCPDF, чтобы попытаться сгенерировать PDF-файл для пользователя.Однако вместо создания PDF-файла он просто выводится без сообщения об ошибке («Генерация PDf ...») исчезает, и система действует так, как будто вы никогда не просили его что-либо делать.
Через тестыЯ обнаружил, что проблема заключается в размере передаваемой переменной $html
. Если отчет в 3K записей, он работает нормально.Если это все из-за этого, HTML-версия отчета будет напечатана, но не PDF.
Полезная информация
- PHP 5.3
- TCPDFдля создания PDF (также пробовал PS2PDF)
- Ограничение памяти скрипта: 500 МБ
Как бы вы справились с такой шкалой данных при создании PDF такого размера?