打印机忽略了啥?

Posted

技术标签:

【中文标题】打印机忽略了啥?【英文标题】:What do printers ignore?打印机忽略了什么? 【发布时间】:2013-08-15 17:17:30 【问题描述】:

打印 html 文档时the bgcolor of a table cell is ignored。

当尝试打印文档时,还有什么被忽略的?

我正在尝试使特定网站在打印时看起来具有某种特定方式,但在这样做时遇到了一些困难,不知道打印机使用哪些属性以及他们忽略了哪些属性。

谢谢!

【问题讨论】:

请注意,您始终可以通过将 CSS 放在 @media print ... 块中来制定明确的样式规则。也不是 printer 在这里工作;重要的是浏览器发送要打印的内容。 【参考方案1】:

您所指的链接是关于特定于浏览器的打印处理。查看每个支持的浏览器的打印属性以了解更多信息。

不过,在打印 HTML 页面时,通常是所见即所得。

您可以通过将以下标签添加到您的<head> 标签来指定要打印的特定 CSS 文件:

<link rel="stylesheet" href="print.css" type="text/css" media="print" />

print.css 是 CSS 文件的路径。

加法: 虽然您不能覆盖浏览器首选项,但您无法在不允许的浏览器中打印您的 BG。检查这些选项的打印首选项。 我最好的想法是将您的网页导出为 PDF 并打印出来。请参阅web2pdfconvert,例如此类服务。你也可以在你的服务器端安装一个插件来做同样的事情,然后通过 AJAX 发送你的 HTML。

另一个补充:看看jsPDF,它完全是客户端,因此更简单。您可以使用它将页面转换为 pdf 并按原样打印。

【讨论】:

设置 media="print" 仍然不会导致后台工作:***.com/q/6670151/569976 不应该。我在上面解释过。【参考方案2】:

可能被忽略的内容完全取决于相关浏览器和该浏览器的打印设置。

例如,在 Chrome 中,您可以关闭页眉/页脚和背景。在 Firefox 中,您可以控制背景。在 IE 中,您可以对框架、链接文档和可选地打印链接表进行一些精细的控制。

最好的办法是简单地为media="print" 提供样式表并定义您希望页面的外观。

【讨论】:

事情还取决于物理打印机。你不能让黑白打印机产生颜色。此外,单位的处理往往会有所不同;屏幕上的10pt 可能与打印中的10pt 不同。

以上是关于打印机忽略了啥?的主要内容,如果未能解决你的问题,请参考以下文章

打印一个nil对象编译器说“unresolved identifier”后面发生了啥?

一些测试用例失败了。告诉我出了啥问题

打印视图忽略样式表

打印文本字符串时如何使用 Thymeleaf 忽略 HTML 标签?

python 在单独的行上打印并忽略反斜杠

如何在不忽略前缀零的情况下打印完整位?