直接从 HTTP 响应打印
Posted
技术标签:
【中文标题】直接从 HTTP 响应打印【英文标题】:Printing directly from an HTTP response 【发布时间】:2011-03-25 20:40:05 【问题描述】:我正在使用 FedEx 运输网络服务。 SOAP 响应包含一个用于生成运输标签的打印机缓冲区文件。是否可以将其直接发送到打印机,以便文件永远不会存储在本地?换句话说,“打印运输标签”按钮将发出 SOAP 请求,成功响应的结果将是打印机根据 SOAP 响应中的数据打印标签。
我正在使用 php,如果有帮助的话。
【问题讨论】:
【参考方案1】:是否可以将其直接发送到打印机,以便文件永远不会存储在本地?
我不确定这在 PHP 中是否可行。根据服务器的操作系统,打印的工作方式非常不同。
最好的办法是将所需的数据写入文件并指示系统的打印服务打印该文件,然后在几分钟后清理该文件。
如果您的打印机使用 IPP,然后是 this class might be some help,尽管说明似乎表明它也需要磁盘上的文件才能实际执行打印。
【讨论】:
没有需要磁盘上的文件。 setData 的参数可以是文件名 或 原始数据。 is_readable 用于确定会发生什么。【参考方案2】:与其返回对发货按钮的 html 响应,不如返回 MIME 类型为 application/epl2 的热数据,如果您安装了 UPS 的 ActiveX 控件,数据将被假脱机到您的打印机。
如果您需要在发货后更新 UI,那么您需要以某种方式存储数据(磁盘、会话变量等),并可能更新 UI,然后将 http 重定向到二进制数据以便打印。
【讨论】:
以上是关于直接从 HTTP 响应打印的主要内容,如果未能解决你的问题,请参考以下文章