У меня есть веб-сайт, который обрабатывает огромное количество данных в виде информации о клиентах и о том, что они заказали в течение дня. Теперь, поскольку этот конкретный сайт имеет сотни клиентов и каждый день, каждый клиент имеет промежуточный 5-20 заказов.
Владелец сайта хочет, чтобы страница, содержащая информацию о доставке клиентов, их список заказов на каждой отдельной странице, чтобы они могли распечатать ее и наклеить на нее. Однако каждая новая информация о клиенте должна начинаться с новой страницы.
например:
–Начальная страница —
Заказчик 1 Информация о доставке
Заказчик 1 Информация о заказе
«Некоторое пустое место здесь, если информация о заказе коротка»
—-Следующая Страница—-
Заказчик 2 Информация о доставке
Заказчик 2 Информация о заказе
——Следующая Страница —
Клиент 2 Информация о заказе продолжалась (это могло быть всего лишь несколько строк и могло оставить большое пустое место ниже)
«Здесь пустое место»
—-Следующая Страница—
Клиент 3 …
Когда я стараюсь вывести простой html, а затем распечатать страницу, страница была испорчена, поэтому я решил создать PDF (я использую MPDF53), и там в моей собственной проблеме.
Проблема в том, что для создания PDF-файла требуется много времени, и он поглощает множество системных ресурсов. Мне уже пришлось увеличить время выполнения сервера, чтобы он успешно выполнялся (по умолчанию 30 секунд). Теперь, когда клиенты растут, список будет продолжать расти, а также время выполнения. Если список 100 клиентов может превышать 30 секунд, интересно, что будет, когда оно достигнет 1000 или более.
На самой странице печати есть какая-либо графика, и запрос sql генерируется довольно быстро (это происходит потому, что, когда я выводил в качестве html, страница быстро загружалась).
Есть ли альтернативный способ перелома страницы в html-документе, так что, когда я печатаю эту страницу, это означает, что страница ломается правильно или любым способом, который может ускорить создание PDF-файлов, или мне просто нужно иметь длительное время выполнения.
Редактировать: Одна проблема с использованием только html-документа даже при разрыве страницы будет сохранять его для последующих записей или ссылок.
благодаря
У меня была такая же проблема много лет назад, и в итоге я полагался на свойство CSS-break-after (см. Здесь для получения дополнительной информации). Вы можете попробовать создать страницы в HTML и добавить разрывание page-break-after:always
в div, который содержит информацию о клиенте.
Я бы не стал полагаться на это для высоконадежной совместимости для всех пользователей и платформ, но если это собственное приложение, то вы, вероятно, можете уйти с указанием, что им нужно использовать современную версию Firefox, Chrome или IE.
1) Вы можете попробовать альтернативы для создания PDF-файлов: Конвертировать HTML + CSS в PDF с PHP? и какой из них является лучшим PDF-API для PHP?
2) Вы можете использовать LaTeX: http://www.mayer.dial.pipex.com/tex.htm