Как я могу отобразить веб-страницу на сервере (без графического интерфейса) для печати? - PullRequest
4 голосов
/ 11 февраля 2010

Я пытаюсь прагматично распечатать страницы на PHP-скрипте на офисном принтере.

Вот что у меня так далеко:

У меня установлен принтер на сервере, и я могу отправлять ему задания с помощью PHP через команду печати из командной строки. Я также могу писать простые текстовые файлы с помощью своего PHP-скрипта, а затем добавлять их в печать. Таким образом, печать сгенерированных PHP текстовых файлов с помощью PHP работает просто отлично.

Вопрос в том, как я могу создавать печатаемые файлы, используя PHP, которые на самом деле включают макет и графику? Другими словами, если я создал веб-страницу с изображениями и CSS, а затем отобразил страницу в Firefox и нажал кнопку «Печать», это то, что я хочу снять с принтера. За исключением того, что он должен работать в системе без графического интерфейса и без вмешательства пользователя.

Пока у меня есть следующие возможные идеи:

  • Используйте библиотеку PHP PDF для генерации файла PDF и добавьте его к метке печати (очень сложно получить правильное позиционирование)

  • Используйте библиотеку GD для создания файла изображения (объединение изображений и текста в одно изображение размером с страницу) и отправки окончательного изображения на принтер.

Оба вышеперечисленных являются сложными, и их было бы утомительно внедрять и поддерживать. Мне интересно, может ли быть более простое решение? Размещение страницы с использованием HTML и CSS будет самым простым вариантом. Существует ли библиотека или сценарий, который может создать PDF-файл отображаемой страницы из разметки raw html / css?

Или способ запустить firefox (или другой браузер) в режиме только командной строки, но имеет полные возможности рендеринга, которые можно отправить в файл PDF или на принтер?

Короткий вопрос. Я ищу способ отправки страницы html / css на принтер ...

Есть идеи?

1 Ответ

4 голосов
/ 11 февраля 2010

Я бы не стал использовать библиотеку PHP PDF, так как она имеет множество ограничений, касающихся DIV, вложенности и т. Д. Вам придется писать свои страницы специально для среды PDF.

Проверьте эту страницу: http://code.google.com/p/wkhtmltopdf/

Это может быть запущено с сервера (или PHP), и он фактически использует движок webkit (браузер) для создания страницы, как обычный браузер, и возвращает ее, чтобы вы могли делать с ней все, что захотите. Вы должны быть в состоянии распечатать это, сохранить его, отправить по электронной почте и т. Д. (Они будут в формате PDF)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...