首页 >web前端 >js教程 >如何控制跨浏览器 HTML 打印的打印机设置?

如何控制跨浏览器 HTML 打印的打印机设置?

Linda Hamilton
Linda Hamilton原创
2024-11-08 19:19:02265浏览

How Can I Control Printer Settings for HTML Printing Across Browsers?

禁用浏览器打印选项:页眉、页脚、边距

在各种情况下,从打印机打印时需要控制默认打印机设置浏览器,特别是 HTML 格式,绕过 PDF 或其他插件。虽然存在通过 CSS 修改页面方向和边距的方法,但不同浏览器之间会出现不一致的情况,例如 Firefox 添加了额外的半英寸边距。

CSS 方法

CSS合并了@page指令,它允许分页媒体特定的格式。然而,浏览器兼容性限制了其有效性。 Safari 不支持设置页边距,而其他主流浏览器则实现了它。

实现 @page

利用 @page 指令,您可以指定页面的打印机边距,与 HTML 元素的 CSS 边距不同:

@page {
  margin: 0mm;  /* Affects printer settings margin */
}

注意事项

虽然此方法可能看起来有效,但它有局限性:

  • Firefox 3.6:不支持。
  • IE 7、Safari 5.1.7、Google Chrome 4.1:也不支持。

在其他浏览器中成功

  • IE 8、Opera 10、Google Chrome 21、Firefox 19: 支持设置页边距,但表现出不同的行为。

浏览器特定行为

IE:边距设置为 0mm,但用户可以在打印预览中修改它们。
Firefox: 正确定位内容,但同时显示浏览器和页面页眉/页脚。
Opera: 隐藏页眉,但错误定位页脚。
Chrome : 如果 @page 边距最大限度地减少了浏览器页眉/页脚与内容的位置冲突,则隐藏浏览器页眉/页脚。

结论

@page 指令可以提供有限的控制超过打印机设置。 Chrome 以其出色的页眉/页脚隐藏处理而脱颖而出。然而,所有浏览器缺乏一致的支持给确保一致的打印体验带来了挑战。

以上是如何控制跨浏览器 HTML 打印的打印机设置?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn