所以我试图通过PHP代码在我的localhost中打印PHP生成的文件。我被告知要检查http://www.nongnu.org/phpprintipp/,我发现这些代码是他们在文档中最简单的设置。
<?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();
?>
作为初学者,我通过查看上面的代码来制作这个基本逻辑。首先,我通过PHP生成.txt文件。
其次,我创建了这个类的新实例,所以对象执行以下操作:找到主机(在我的情况下是localhost,所以不需要编辑),找到打印机 ,找到要打印的文本文件(已生成),然后执行打印作业。是的我知道它看起来很简单,但似乎我找不到打印机URI。
如何做到这一点,因为我对此完全不熟悉...我猜打印机必须在localhost中有某种IP(不确定)。如果是这样我怎样才能找到它?
答案 0 :(得分:3)
你好!
我是PHP :: PRINT :: IPP作者
你最好发送到邮件列表(这是一个非常异步的响应)
:)
<强> phpprintipp@nongnu.org 强>
首先,我强烈建议检查cvs存储库:
cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/ sources / phpprintipp co phpprintipp
(你需要cvs程序)
如果您直接打印到网络打印机(没有CUPS),或使用其他IPP服务器而不是CUPS:
检查您的打印机/服务器手册,以便处理您希望使用的文档格式(很可能您只会获得text / plain和PostScript,并且即使在高质量打印机上也可以选择最后一个,mime类型“application / octet-stream”指定 打印机的语言(PCL,...) - 这不是标准关于rfc2911 - 或文档格式自动检测 这是标准)。您可以在连接到服务器时使用PHP :: PRINT :: IPP请求文档格式支持的或整个打印机的特性(请参阅主站点上的文档(URI在那个帖子结束)
将网络浏览器指向您的打印机/打印服务器的 IP / fqdn 端口631
例如:
http:// xxx . xxx . xxx . xxx : 631
(在php :: print :: ipp中IPv6地址也可以,但我从不尝试使用网页浏览器(最有可能使用方括号[:: 1]:631))
(您在网络浏览器服务器-IP:631中)检查“打印机”路径,例如:“/ epson /” =&GT;路径在BasicIpp中以“CUPS”为基础完成:
public $paths = array(
"root" => "/",
"admin" => "/admin/",
"printers" => "/printers/",
"jobs" => "/jobs/"
);
=&GT;所以
$ipp->paths = array(
"root" => "/blah/",
"admin" => "/bluh/",
"printers" => "/blih/",
"jobs" => "/bloh/"
);
=&GT;很可能是“/ blah /”“/ blah /”“/ blah /”“/ blah /”这四条路径:)
=&GT; 对于4
也可以是“/”(“jobs”指定作业(打印)控制/检查路径,以及“root”,如果你不知道那么你最有可能使用MS-Windows MS-Windows IPP嵌入式服务器将不适用于该库 - 除了text / plain之外
注意:如果s.o.会很酷可以在MS-Windows服务器上安装“PostScript驱动程序”,然后使用PHP :: PRINT :: IPP或其他IPP客户端检查至少PostScript格式的处理
(您在网络浏览器服务器-IP:631中)检查您的“printer-uri”,就像在打印服务器设置中一样。
=&GT;然后:
$ipp->setPrinterURI($uri)
警告强> =&GT;这与
无关setUnix($socket = '/var/run/cups/cups.sock')
也不是
setHost($host = 'localhost') + setPort($port = '631')
这3个最后的函数提供连接到打印服务器
main site(链接到doc,install,等等......他们在这里害怕垃圾邮件:)
TSFH
phpprintipp@nongnu.org