Я пытаюсь печатать страницы прагматично с помощью PHP-скрипта, на офисный принтер.
Вот что у меня до сих пор:
У меня есть принтер, установленный на сервере, и я могу отправить задания на него с помощью PHP с помощью команды печати командной строки. Я также могу писать текстовые файлы с помощью своего PHP-скрипта, а затем добавлять их к типу печати. Таким образом, печать PHP с использованием простых текстовых файлов с PHP работает отлично.
Вопрос в том, как я могу создавать файлы для печати, используя PHP, которые фактически включают макет и графику? Другими словами, если бы я создал веб-страницу с изображениями и css, а затем отобразил страницу в Firefox и щелкнул печать, это то, что я хочу оторвать от принтера. Кроме того, он должен работать в системе без GUI и без вмешательства пользователя.
Пока у меня есть эти возможные идеи:
Используйте библиотеку PDF PDF для создания PDF-файла и добавьте его в текстовый файл (очень сложно получить правильное позиционирование)
Используйте библиотеку GD для создания файла изображения (слияние изображений и текста с изображением на один размер) и отправку окончательного изображения на принтер.
Однако оба из них сложны, и было бы утомительно выполнять и поддерживать. Мне интересно, может ли быть более простое решение? Выделение страницы с использованием html и CSS было бы самым простым вариантом. Есть ли библиотека или сценарий, который может создавать PDF-файл из отображаемой страницы из сырой html / css-разметки?
Или способ запускать firefox (или другой браузер) только в режиме командной строки, но имеет полные возможности рендеринга, которые могут быть отправлены в файл PDF или принтер?
Короче говоря, я ищу способ отправить отображаемую страницу html / css на принтер …
Есть идеи?
Я бы избегал использования PHP PDF-библиотеки, поскольку он имеет множество ограничений в отношении DIV и вложенности и т. Д. Вам придется писать ваши страницы специально для среды PDF.
Посмотрите эту страницу: http://code.google.com/p/wkhtmltopdf/
Это можно запустить с сервера (или PHP), и он фактически будет использовать движок webkit (браузер) для создания страницы, как обычный браузер, и вернуть его, чтобы вы могли делать все, что хотите. Вы должны иметь возможность распечатать это, сохранить его, отправить по электронной почте и т. Д. (Они будут в формате PDF)