直接从 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 响应打印的主要内容,如果未能解决你的问题,请参考以下文章

ServletResponse获取响应体 日志记录出参

直接从 JavaScript 打印 PDF

如何直接从我的 macOS 应用程序打印显示打印对话框的 PDF 文件?

使用 Axios 从 http 响应下载 PDF

如何从 Python 请求调用中提取 HTTP 响应正文?

如何从 Httpclient.SendAsync 调用中获取和打印响应