禁用浏览器打印选项:页眉、页脚、边距
在各种情况下,从打印机打印时需要控制默认打印机设置浏览器,特别是 HTML 格式,绕过 PDF 或其他插件。虽然存在通过 CSS 修改页面方向和边距的方法,但不同浏览器之间会出现不一致的情况,例如 Firefox 添加了额外的半英寸边距。
CSS 方法
CSS合并了@page指令,它允许分页媒体特定的格式。然而,浏览器兼容性限制了其有效性。 Safari 不支持设置页边距,而其他主流浏览器则实现了它。
实现 @page
利用 @page 指令,您可以指定页面的打印机边距,与 HTML 元素的 CSS 边距不同:
@page { margin: 0mm; /* Affects printer settings margin */ }
注意事项
虽然此方法可能看起来有效,但它有局限性:
在其他浏览器中成功
浏览器特定行为
IE:边距设置为 0mm,但用户可以在打印预览中修改它们。
Firefox: 正确定位内容,但同时显示浏览器和页面页眉/页脚。
Opera: 隐藏页眉,但错误定位页脚。
Chrome : 如果 @page 边距最大限度地减少了浏览器页眉/页脚与内容的位置冲突,则隐藏浏览器页眉/页脚。
结论
@page 指令可以提供有限的控制超过打印机设置。 Chrome 以其出色的页眉/页脚隐藏处理而脱颖而出。然而,所有浏览器缺乏一致的支持给确保一致的打印体验带来了挑战。
以上是如何控制跨浏览器 HTML 打印的打印机设置?的详细内容。更多信息请关注PHP中文网其他相关文章!