Я искал решение для печати отчетов и предварительно отформатированных форм на стороне клиента из веб-приложения PHP. Обратите внимание, что это не печать HTML-страниц. Довольно хорошо выровненные фиксированные формы квитанций, бланков заказов, бухгалтерской книги и т. д.
То, о чем я думаю.
Использование PDF: есть ли простой способ одним щелчком мыши распечатать отчет со стороны клиента? Очевидный выбор открытия PDF-файла в окне и затем выбора «Файл» -> «Печать» кажется слишком громоздким.
Использование Flash: я видел какой-то сайт, обеспечивающий печать в один клик с помощью flash. Не уверен, что работает в фоновом режиме. Любая информация по этому поводу будет полезна.
Active-X / Silverlight (?): Я не хочу ограничивать своих пользователей только IE. Но это требование к печати в один клик настолько жесткое, что я предпочел бы переключиться на платформы только для MS, если они справятся с этой задачей.
Обратите внимание, что это нормально, если один щелчок мыши вызывает диалоговое окно печати, а пользователь щелкает второй раз для печати. Но большая сложность - это недостаток.






<a href = "#" onclick = "window.print(); return false;">Print!</a>
Далее, по мнению Нельсона ЛаКуэта, вы можете поместить window.print () в атрибут onload тега body, чтобы диалоговое окно печати появлялось при загрузке страницы,
(или используйте jquery document.ready () для достижения того же, или любые другие предложения JS-фреймворков)
Если формат такой жесткий, вам нужен формат вроде PDF. HTML / CSS настолько разнообразны, что вы никогда не получите его одинаково во всех браузерах. Веб-страницы Plug не имеют реальной концепции страниц (хотя есть некоторая поддержка таких вещей, как стили печатных медиа CSS).
Также не у всех людей есть принтер. Попытка заставить что-то напечатать - действительно неправильный подход и обычно отпугивает некоторых ваших клиентов.
Минимальное решение - создать страницу квитанции с CSS-кодом emdia print, чтобы она выглядела отвечающей большую часть времени.
Если этого недостаточно, вам нужно перейти в PDF. К сожалению, тогда это становится сложно, как этот вопрос относительно преобразования HTML + CSS в PDF иллюстрирует. PrinceXML отлично справляется с этим преобразованием, но это не дешево. Html2PDF - лучшее из набора с открытым исходным кодом, но имеет проблемы (см. Этот ответ для более подробной информации). У меня была такая же проблема в пространстве Java и для счетов, которые заканчивались использованием Джаспер отчеты. Однако я действительно не видел эквивалентного решения для отчетности для PHP. У Python есть reportlab, который также кажется вероятным кандидатом для выполнения такой работы.
Возможно, ваш лучший вариант - напрямую сгенерировать PDF-файл. Это немного утомительнее, но позволяет избежать многих ошибок преобразования HTML в PDF. Этот учебник (Часть 2) объясняет, как это сделать.
В настоящее время существуют проекты с открытым исходным кодом code.google.com/p/wkhtmltopdf и phantomjs.org, которые близки к PrinceXML.