我可以使用 javascript 设置 window.print 设置吗?

Ken*_*all 5 html javascript css printing

我正在努力从 HTML 页面创建可打印文档,但输出太大。我不想完全重新设计页面以进行打印(即再次打印所有内容的媒体查询),所以我想知道是否有一种方法可以更改window.print(或窗口打印对话框)设置。

我发现设置等于scale生成80%一个好的PDF;然而,我显然不希望人们必须记住这一点。有没有办法在 Chrome 中做到这一点?

我尝试过调整浏览器页面zoom,但这会导致仅覆盖页面的一部分的相同行为(压缩内容)。该技术基于这个问题:Force page Zoom at 100% with JS

另外,我也尝试过将body比例调整为transform: scale(0.8);,但也无济于事。这导致 PDF 中的元素周围出现大量我无法删除的空白。

Kir*_*iya 5

window.print()方法调用浏览器内置的打印支持插件来打印当前的DOM页面。您可以检查文档:它不支持任何参数或设置。要设置打印,您只能使用浏览器的 GUI(例如启用或禁用背景图形等),请参阅下面的浏览器 GUI 屏幕截图。 在此输入图像描述

正如您在图片中看到的那样(Chrome 的屏幕截图),您也可以保存为 pdf 或直接发送到打印机。还有一些其他设置可以进行相应更改。有关窗口方法的更多信息,您可以浏览JavaScript 中的窗口对象的官方 Mozilla 文档