猿问

禁用页面中的浏览器打印选项(页眉、页脚、页边距)?

禁用页面中的浏览器打印选项(页眉、页脚、页边距)?

我在so和其他几个网站上看到过以几种不同的方式问这个问题,但它们中的大多数要么过于具体,要么过时了。我希望有人能在这里提供一个明确的答案,而不迎合猜测。

当有人在浏览器中打印时,是否有一种使用CSS或javascript更改默认打印机设置的方法?当然,我所说的“他们浏览器上的打印”指的是某种形式的HTML,而不是PDF或其他依赖插件的MIME类型。

请注意:

如果有些浏览器提供此功能,而其他浏览器则不提供此功能(或者您只知道如何为某些浏览器提供此功能),我欢迎浏览器特定的解决方案。

同样,如果您知道主流浏览器对此有特定的限制,这也是有帮助的,但一些相当最新的文档将不胜感激。(仅仅说“这违反了XYZ的安全策略”,当XYZ在过去三年中对该策略进行了重大更改时,它就不太有说服力了)。

最后,当我说“更改默认打印设置”时,我并不是指永久的,只针对我的页面,我指的是打印页边距、页眉和页脚。

我非常清楚CSS提供了改变页面方向和页边距的选项。火狐是众多困难之一。如果我将页边距设置为1英寸,它会将其添加到它已经放置的半英寸。

我非常想减少PDF在我客户的网站上的使用,但是他们主要关心的是对演示的侵犯(以及缺乏可靠性)。


千万里不及你
浏览 1725回答 3
3回答

米脂

任何最新版本的Chrome和Opera,以及Firefox 48 alpha 1及更高版本您可以将页边距设置为一个太小而无法包含文本的大小,以便禁用它(借用敬畏(答覆):@page {&nbsp; size: auto;&nbsp; /* auto is the initial value */&nbsp; margin: 0mm; /* this affects the margin in the printer settings */}html {&nbsp; background-color: #FFFFFF;&nbsp; margin: 0px; /* this affects the margin on the HTML before sending to printer */}body {&nbsp; border: solid 1px blue;&nbsp; margin: 10mm 15mm 10mm 15mm; /* margin you want for the content */}<ol>&nbsp; <li>&nbsp; &nbsp; <a href="data:,No Javascript :-(" target="_blank">Middle-click to open in new tab</a>&nbsp; </li>&nbsp; <li>&nbsp; &nbsp; <a href="javascript:print()">Print</a>&nbsp; </li></ol><!-- Hack to work around stack snippet restrictions --><script type=application/javascript>document.links[0].href="data:text/html;charset=utf-8,"+encodeURIComponent('<!doctype html>'+document.documentElement.outerHTML)</script>火狐版本可达48α1您可以添加一个mozNoMarginBoxes属性的<html>标记,以防止URL、页码和Firefox添加到页边距的其他内容被打印出来。它正在Firefox 29和更高版本中工作。你可以在这里看到一个屏幕截图。,或下面是一个活生生的例子。注意,mozDisallowSelectionPrint示例中的属性是不需要从页边距中删除文本;请参见PDF.js中的mozdislowselectionprint属性是做什么的?.其他浏览器不幸的是,在InternetExplorer中似乎无法解决这个问题,因此您将不得不求助于PDF或要求用户禁用页边距文本。Safari也是如此。@Luiz Perez,最新版本的Safari(8、9.1和10)仍然不支持@page用于压制保证金文本。我在Edge上找不到任何东西,也没有Windows 10安装可供测试。

偶然的你

这是解决方案,这是确认在Chrome!只需确保这是在头部标签内:<head><style&nbsp;type="text/css"&nbsp;media="print"> &nbsp;&nbsp;&nbsp;&nbsp;@page&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size:&nbsp;auto;&nbsp;&nbsp;&nbsp;/*&nbsp;auto&nbsp;is&nbsp;the&nbsp;initial&nbsp;value&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:&nbsp;0mm;&nbsp;&nbsp;/*&nbsp;this&nbsp;affects&nbsp;the&nbsp;margin&nbsp;in&nbsp;the&nbsp;printer&nbsp;settings&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;body&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color:#FFFFFF;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:&nbsp;solid&nbsp;1px&nbsp;black&nbsp;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin:&nbsp;0px;&nbsp;&nbsp;/*&nbsp;this&nbsp;affects&nbsp;the&nbsp;margin&nbsp;on&nbsp;the&nbsp;content&nbsp;before&nbsp;sending&nbsp;to&nbsp;printer&nbsp;*/ &nbsp;&nbsp;&nbsp;}</style></head>
随时随地看视频慕课网APP
我要回答