Php 如何打印ipp打印机设置

Php 如何打印ipp打印机设置,php,printing,ip,localhost,Php,Printing,Ip,Localhost,因此,我试图通过PHP代码在本地主机中打印PHP生成的文件。他们让我检查,我发现这段代码,他们在文档中说这是最简单的设置 <?php require_once(PrintIPP.php); $ipp = new PrintIPP(); $ipp->setHost("localhost"); $ipp->setPrinterURI("/printers/epson"); $ipp->setData("./testfiles/tes

因此,我试图通过PHP代码在本地主机中打印PHP生成的文件。他们让我检查,我发现这段代码,他们在文档中说这是最简单的设置

<?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

如何做到这一点,因为我完全不熟悉这个。。。我猜打印机在本地主机中必须有某种IP(不确定)。如果是,我怎么才能找到它

你好

我是PHP::PRINT::IPP的作者

您最好发送到邮件列表(这是一个真正的异步响应)

:)

phpprintipp@nongnu.org

  • 首先,我强烈建议检查cvs存储库:

    cvs-z3-d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/phpprintipp co phpprintipp

(您需要cvs程序)

  • 自动查找打印机仅适用于CUPS服务器,我已经三年没有检查过:)
如果直接打印到网络打印机(不带CUPS),或使用CUPS以外的其他IPP服务器:

  • 查看您的打印机/服务器手册,了解如何处理您希望使用的文档格式(很可能您只会得到文本/纯文本和PostScript,并且即使在高质量打印机上,mime类型“应用程序/八位字节流”也会指定打印机的语言(PCL,…)--这不是rfc2911的标准--或文档格式自动检测的标准--)。您可以在连接到服务器时请求支持的文档格式,或使用PHP::PRINT::IPP请求整个打印机的特性(请参阅主站点上的文档(URI在文章末尾给出)

  • 将您的web浏览器指向打印机/或打印服务器的IP/fqdn端口631

    例如:

(IPv6地址在php::print::ipp中也可以,但我从未尝试使用web浏览器(很可能使用括号[::1]:631))

  • (您位于web浏览器服务器IP:631)检查“打印机”路径,例如:“/epson/” =>路径在BasicIpp中以“CUPS”为基础完成:

    public $paths = array(
      "root" => "/",
      "admin" => "/admin/",
      "printers" => "/printers/",
      "jobs" => "/jobs/"
    );
    
    =>所以

    =>对于四条路径,最有可能是“/blah/”/blah/”/blah/”/blah/”)

    =>也可以是/4

    (“作业”指定作业(打印)控制/检查路径,以及“根”,如果您不知道,那么您很可能使用MS Windows,而MS Windows IPP嵌入式服务器将无法与该库一起使用——文本/纯文本除外)

注意:如果s.o.可以在MS Windows服务器上安装“PostScript驱动程序”,然后检查PHP::PRINT::IPP或其他IPP客户端是否至少处理PostScript格式,那就太酷了

  • (您位于web浏览器服务器IP:631)按照打印服务器设置中的步骤检查“打印机uri”

    =>然后:

    $ipp->setPrinterURI($uri)
    
警告 =>这与

setUnix($socket = '/var/run/cups/cups.sock')
也不是

最后三个功能提供了与打印服务器的连接

  • =>查找相关信息的另一种方法是在(任何?)网络打印机硬件上的打印机菜单中打印“IPP服务器/打印机设置页”。注意选择“IPP设置”页面,因为大多数人都不知道并向我发送了“一般信息”或“一般网络设置”
(指向doc、install等的链接……他们在这里害怕垃圾邮件:)

当做 TSFH

phpprintipp@nongnu.org

$ipp->setPrinterURI($uri)
setUnix($socket = '/var/run/cups/cups.sock')
setHost($host = 'localhost') + setPort($port = '631')