是否可以从IPP标头获取文件路径?

时间:2017-11-28 10:54:00

标签: printing ipp-protocol

我正在编写模拟打印机行为的打印Web应用程序。它使用IPP协议在打印请求中接收文档。 我可以从IPP标题中的IPP属性代码0x42获取有关打印作业的一些信息:

  • filename - 完整文件路径(这是我的目标),如果是Notepad ++,只有文件名,如果我从MS Word打印文档
  • 用户名 - 来自OS

我可以从IPP获取与应用程序无关的完整文件路径吗?可能我可以通过额外的要求实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

0x42仅指定值类型 - 在这种情况下,它可能表示类型nameWithoutLanguage

<强> 文件名

简答:没有标准方法可以从ipp标头获取文件路径。

根据ipp客户端实现(例如Windows打印机驱动程序),您可能可以使用其他一些属性。驱动程序如何提交打印作业有多种选择。

  • 通过ipp操作发送的作业PRINT_JOB (0x0002)

该文件被添加为字节流(以特定的打印作业语言格式化,如postscript或pdf)。大多数实现将作业属性job-name设置为原始文件名或文件路径的名称。

  • 通过ipp操作发送的作业PRINT_URI (0x0003)

此方法很少使用,但会提供一个URI,打印机必须加载要打印的文件或数据。 URI包含路径。

<强> 用户名

对于用户名,可以使用标准的ipp属性:requesting-user-name。设置此值的是ipp客户端(例如Windows打印机驱动程序)的责任。 RFC 2911第3.2.1.1节Print-Job-Request说:

  

&#34;请求用户名&#34; (name(MAX))属性应该由。提供   客户端如第8.3节所述。