繁体   English   中英

在无头打印到 pdf 中禁用 Chrome 的默认页眉和页脚

[英]Disable Chrome's default headers & footers in headless print-to-pdf

我有一个多页 HTML 文档,我想从命令行使用无头 Google Chrome / Chromium 将其导出为 PDF: chrome --headless --print-to-pdf [...] 问题在于,Chrome 在“打印”时向页面添加了自动生成的页眉和页脚。 其他人建议在我的 CSS 中使用@page {margin: 0} ,但正如其他一些人所说,由于某种神奇的原因,这只适用于几页,因此在我的示例的最后一页有一个页脚。

我知道有一个NPM 包支持无头导出,但这种导出比无头 Chrome 本身多花费大约 30% 的时间,并且需要在我公司的服务器上安装和设置 NPM 和包。

如果有人知道通过 CSS 或某些设置在无头 PDF 导出中隐藏 Google Chrome 的默认页眉/页脚的任何方法,请告诉我。


顺便说一下,由于我没有想出其他解决方案,所以我使用了NPM 包 到目前为止,它一直运行良好且可靠,在我的测试中只花费了大约 30% 的时间,所以请记住这一点。

最新的 Google Chrome Canary 版本中有一个可用的选项。 使用--print-to-pdf-no-header选项。

canary --headless --disable-gpu --run-all-compositor-stages-before-draw --print-to-pdf-no-header --print-to-pdf=example.pdf http://example.com

参考: 源代码

也许这个线程可以帮助你。 基本上你需要在下面添加 CSS

@media print {
  @page { margin: 0; }
  body { margin: 1.6cm; }
}

和“ --no-margins ”参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM