如何打印ipp打印机设置

时间:2011-09-05 23:35:18

标签: php printing ip localhost

所以我试图通过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(不确定)。如果是这样我怎样才能找到它?

1 个答案:

答案 0 :(得分:3)

你好!

我是PHP :: PRINT :: IPP作者

你最好发送到邮件列表(这是一个非常异步的响应)

:)

<强> phpprintipp@nongnu.org

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

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

(你需要cvs程序)

  • 自动查找打印机仅使用CUPS服务器,并且我没有检查3年:)

如果您直接打印到网络打印机(没有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个最后的函数提供连接到打印服务器

  • =&GT;查找相关信息的另一种方法是在(任何?)网络打印机硬件上找到的打印机菜单中打印“IPP服务器/打印机设置页”。 请注意选择提供“IPP设置”的页面,因为大多数人都不知道并向我发送“一般信息”或“一般网络设置”。

main site(链接到doc,install,等等......他们在这里害怕垃圾邮件:)

project / cvs / news

此致

TSFH

phpprintipp@nongnu.org