Intereting Posts
Иногда большая задержка при использовании PHP mail () Вызов неопределенной функции readline ()? Извлечение ключей массива с входа JSON Ошибка импортера WordPress: максимальное время выполнения 60 секунд Создание таблицы SQLite только в том случае, если она еще не существует странное поведение wp_enqueue_script на локальной установке xampp Как создать текст эха PHP? Ошибка «Предупреждение: страница истекла» в IE при нажатии кнопки «Назад» Как отложить или аскетировать этот фрагмент javascript WordPress, чтобы загрузить последний раз для более быстрого времени загрузки страницы? post vs. put при отправке формы Heroku ERROR: неудачный синтаксический анализ composer.lock; он должен быть непустым и действительным JSON Отображение изображений в PHP База данных MySQL английских слов? Как отображать дату и цену в базе данных MySQL и отображать ее в различных форматах в PHP Не удается получить доступ к глобальной переменной внутри функции

печать через сеть из приложения PHP

У меня есть набор принтеров, подключенных по сети со статическим IP, назначенным каждому принтеру.

Теперь у меня есть веб-приложение PHP, работающее на сервере Linux, которому необходимо отправить задания на печать, на этот принтер по сети.

Возможно ли это использовать lpr или чашки и как я могу это сделать.

Related of "печать через сеть из приложения PHP"

Вы можете использовать класс принтера LPR здесь:

http://www.phpclasses.org/package/2540-PHP-Abstraction-for-printing-documents.html

Пример:

<?php include("PrintSend.php"); include("PrintSendLPR.php"); $lpr = new PrintSendLPR(); $lpr->setHost("10.0.0.17"); //Put your printer IP here $lpr->setData("C:\\wampp2\\htdocs\\print\\test.txt"); //Path to file, OR string to print. $lpr->printJob("someQueue"); //If your printer has a built-in printserver, it might just accept anything as a queue name. ?> 

Этот вопрос задавали раньше. См. Печать на сетевом принтере с помощью PHP

Ответ был дан, что время было exec("lpr -P 'printer' -r 'filename.txt');

Однако ответ так и не был принят, поэтому не было уверенности в том, что ОП нашел его полезным; это, конечно, похоже, что это должно сделать трюк, но это не совсем прямой и простой способ сделать это изнутри PHP.

Ряд других ресурсов, которые я нашел, также рекомендуют варианты этого подхода.

Копая немного глубже, я вижу, что PHP имеет модуль принтера в PECL. Однако это только для Windows, и похоже, что он не поддерживается. Но в случае, если это помогает, ссылку здесь: http://www.php.net/manual/en/intro.printer.php

Я думаю, что в конечном итоге ответ заключается в том, что PHP на самом деле не предназначен для такого рода вещей и не имеет встроенных функций для этого. Но так как вы можете использовать внешние команды, используя exec() и аналогичные, не должно быть слишком сложно заставить его работать, хотя и не совсем идеально.

Попробуйте PHP :: PRINT :: IPP

Он отлично работал для меня.

Основное использование

  <?php require_once(PrintIPP.php); $ipp = new PrintIPP(); $ipp->setHost("localhost"); $ipp->setPrinterURI("/printers/epson"); $ipp->setData("./testfiles/test-utf8.txt"); // Path to file. $ipp->printJob(); ?> 

Справка

Я также занимался исследованиями этого … и я думаю, что приведенный ниже код может помочь вам в работе с принтером в Linux

 <?php $printer = "\\\\Pserver.php.net\\printername"); if($ph = printer_open($printer)) { // Get file contents $fh = fopen("filename.ext", "rb"); $content = fread($fh, filesize("filename.ext")); fclose($fh); // Set print mode to RAW and send PDF to printer printer_set_option($ph, PRINTER_MODE, "RAW"); printer_write($ph, $content); printer_close($ph); } else "Couldn't connect..."; ?>