Printing 如何:模拟(IPP)打印机

Printing 如何:模拟(IPP)打印机,printing,simulate,ipp-protocol,Printing,Simulate,Ipp Protocol,我想测试一下IPP应该具备的一些功能(即,监视所做的印象的数量;请参阅),但我还没有得到硬件。我怎样才能模拟这样的打印机?是否有虚拟IPP打印机的代码 我将在Linux或Windows中工作。CUPS为打印机提供IPP接口。使用Java和(;它有点过时,需要一些修复,例如,适应属性的解析语法)您可以使用以下代码作为IPP打印机访问本地打印机: IppPrintService service = new IppPrintService(URI.create("ipp://localhost:631

我想测试一下IPP应该具备的一些功能(即,监视所做的印象的数量;请参阅),但我还没有得到硬件。我怎样才能模拟这样的打印机?是否有虚拟IPP打印机的代码


我将在Linux或Windows中工作。

CUPS为打印机提供IPP接口。使用Java和(;它有点过时,需要一些修复,例如,适应属性的解析语法)您可以使用以下代码作为IPP打印机访问本地打印机:

IppPrintService service = new IppPrintService(URI.create("ipp://localhost:631/printers/HL2240D-local"));

我认为它也可以做同样的事情,但是通过它自己的接口,而不是通过
javax.print

苹果打印机模拟器是一个非常好的IPP模拟器。在上查找硬件IO工具(请参阅)

即使它只适用于OSX,您仍然可以在Linux或Windows上针对该网络服务进行测试。打印页面可以在预览中弹出以供查看。模拟器还支持所需的IPP属性
作业印象完成
。这个工具节省了很多纸张


CUPS不是一个好的模拟器。为了正常工作,它需要一个真正的打印机,它可以打印。您可以暂停队列并测试打印到它。除非您释放队列,否则您将无法获得任何
完成的印象>0
。这将导致真实而非模拟的打印。

一个完全成熟的、开源的、符合IPP-2.2和IPP Everywhere标准的打印机模拟器是Github上的。它由标准化IPP(互联网打印协议)的机构(PWG)提供

IPP示例软件可以在任何主要平台上编译:Linux、Windows、macOS

该软件目前仍处于测试阶段,但已经非常实用。它附带的命令行工具之一是ippserver。这是您正在寻找的模拟打印机。它比苹果打印机模拟器强大得多,但它没有GUI。您需要熟悉运行命令行工具

一旦您可以启动
ippserver
(使用适当的选项),您的网络上将有一个功能完善的虚拟IPP打印机实例。您可以使用它来测试任何(或您自己编写的)IPP客户端软件

IPP示例提供了第二个重要工具,
IPP工具
。这可以用作IPP客户端。你可以两者一起玩来测试对方。请参见此ASCII转换中的工作原理:

如果您想自己尝试,并且您在Linux上,您甚至不需要自己构建它。只需使用软件的read Make AppImage(由一个可执行文件组成),无需“安装”步骤即可直接运行。以下是方法:

  • 下载它:

  • 使AppImage可执行(并可选择将其重命名为
    ippsample
    ):

  • 查看其内置的帮助屏幕:

  • 运行它:

    (这将运行一个测试套件,以验证IP地址为xxx.xxx.xxx.xxx的IPP打印机是否完全符合IPP-2.0。)

  • 更多测试示例:
  • 打印作业:
    
    /IPP示例IPP工具-t-v\
    -f my.pdf\
    ipp://xxx.xxx.xxx.xxx/ipp/print \
    打印作业测试
    
    (这会将my.pdf作为打印作业发送到打印机。)

  • 验证打印机的
    打印uri
    支持:

    
    /IPP示例IPP工具-t-v\
    -o文档uri=https://ftp.pwg.org/pub/pwg/candidates/cs-ippeve10-20130128-5100.14.pdf \
    ipp://xxx.xxx.xxx.xxx/ipp/print \
    print-uri.test
    

    (这将告诉打印机从文档uri获取命名PDF并打印它。)


  • ippserver是否可与ippeveprinter进行比较?它必须独立运行,还是有办法进入打印作业处理程序?基本上,我希望有一个程序能够监听打印作业,将文本/图像/pdf直接保存到文件中,并能够从属性字段访问目录数据。
    wget https://github.com/KurtPfeifle/ippsample/releases/download/continuous/ippsample-x86_64.AppImage
    
    chmod a+x ippsample-x86_64.AppImage
    mv ippsample-x86_64.AppImage ippsample
    
    ./ippsample --ai-usage
    
    ./ippsample ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test