В последние несколько часов я работаю в поисковых системах и не могу найти ответа. Я очень близко подошел к этому вопросу
У меня есть сайт интрасети на моем сервере Windows, на котором запущен xampp / wamp. Я действительно не хочу предоставлять права доступа на печать всем, поскольку я скупился и хочу, чтобы принтер компании использовался для печати вещей в интрасети.
Поэтому я ищу способ распечатать страницы / документы внутренней сети, хранящиеся локально на сервере, без использования фишинговой печати клиентской машины. Я нашел php_printer.dll на php.net, но я прочитал, что он не печатает html / документы, а только сырые данные (являющиеся простым текстом)?
У кого-нибудь есть идеи?
Раньше я выводил PDF из HTML (см. Библиотеку pisa – python для обработки этого), а затем использовал shell_exec () для печати PDF.
Не очень гламурный, но он работает. Кроме того, это было на сервере linux, поэтому я не уверен в возможностях печати в командной строке в окне Windows.
Я бы подумал, что ваш «лучший» вариант, вероятно, будет пытаться найти способ взаимодействия с драйвером принтера (дает ли производитель что-нибудь полезное?).
В противном случае вы можете попробовать иметь функцию printMe
которая добавляет URL-адрес страницы в db или что-то подобное, а затем выполнять запланированную задачу, выполняющую скрипт каждую минуту или около того, чтобы печатать любые URL-адреса, которые перечислены. Если вы устанавливаете firefox на свой сервер, вы можете распечатать его, не показывая никаких подсказок (используйте window.print()
Javascript window.print()
). Просто убедитесь, что ваша запланированная задача загружает ваш скрипт в firefox.
Использование этого метода также означает, что вы могли бы регистрировать, кто печатал, что и когда. Вы также можете разрешить печать мест, отличных от сайта интрасети (обязательно убедитесь, что URL-адрес из интрасети, независимо от того, разрешено ли разрешать печать с других сайтов), создав букмарклет .
используйте функции принтера. они являются расширением php, доступным только для php для окон. С этим вы можете печатать в локальной очереди принтера. см. руководство по php