use*_*108 9 php linux printing cups network-printers
我有一组打印机通过网络连接,并为每台打印机分配静态IP.
现在我有一个在Linux服务器上运行的PHP Web应用程序需要通过网络向这些打印机发送打印作业.
这可能是使用lpr或杯子,我该怎么做呢.
Nir*_*mal 10
你可以从这里使用LPR Printer类:
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.
?>
Run Code Online (Sandbox Code Playgroud)
这个问题已经被问过了。查看使用PHP打印到网络打印机
给出的答案是 exec("lpr -P 'printer' -r 'filename.txt');
但是,答案从未得到接受,因此不确定操作人员是否认为它有用。它看起来确实应该可以解决问题,但这并不是从PHP内直接直接实现的简单方法。
我发现的许多其他资源也建议采用这种方法。
深入研究,我发现PHP在PECL中有一个Printer模块。但是,它仅适用于Windows,并且维护得不好。但如果有帮助,请在此处链接:http : //www.php.net/manual/en/intro.printer.php
我认为最终的答案是PHP并不是真的为这种事情设计的,并且没有内置功能可以做到这一点。但是,由于您可以使用exec()和类似的方法来使用外部命令,因此使其工作起来并不难,尽管不是很理想。