【问题标题】:How printing HTML document via IPP protocol?如何通过 IPP 协议打印 HTML 文档?
【发布时间】:2014-08-14 11:10:41
【问题描述】:

所以,我编写了 PHP 组件,它可以通过 IPP(互联网打印协议)打印文档。但我无法正确打印 HTML 文档 (text|html - mimetype)。打印机已将此类型打印为 RAW。可能有人给出正确请求的例子(标题和正文)?

例如我的错误请求,它被打印为 RAW 数据。

标题:

POST /printers/CanonLPR HTTP/1.1
Host: 10.2.2.105:631
Connection: close
Accept-encoding: gzip, deflate
User-agent: EHttpClient
Content-Type: application/ipp
Content-Length: 772

主体:

Gattributes-charsetutf-8Hattributes-natural-languageen_usEprinter-uri'http://10.2.2.105:631/printers/CanonLPRDrequesting-user-name
PHP-SERVERIdocument-format  text/html<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="language" content="ru" />
</head>
<body>
<img style="float: left; margin-right: 10px;" src="/static/img/printer.png" />
<h1>Test page</h1>
</body>
</html>

【问题讨论】:

    标签: php html printing protocols ipp-protocol


    【解决方案1】:

    即使例如CUPS 宣传对text/html 的支持(请参阅它的打印机属性document-formats-supported)它没有将html 转换为例如后记。

    您不能指望打印机或后台处理程序为您呈现 HTML(就像浏览器那样)。您可能需要搜索 html 到 pdf 转换器作为解决方法。

    典型且适当的解决方案是使用专用的 pdf 库来创建可打印文档。缺点是您必须再次对布局进行编码。

    第 2 步涉及将作业提交给打印机。看起来你可以处理这个。如果没有检查this answer。在http://www.nongnu.org/phpprintipp/

    上还有一个 PHP 的 IPP 实现

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 2013-04-18
      • 2012-01-24
      • 2022-01-14
      • 1970-01-01
      • 2015-07-18
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多