d0n*_*key 18 html css pdf google-chrome
我有一个多页 HTML 文档,我想从命令行使用无头 Google Chrome / Chromium 将其导出为 PDF:chrome --headless --print-to-pdf [...]. 问题在于,Chrome 在“打印”时向页面添加了自动生成的页眉和页脚。其他人建议@page {margin: 0}在我的 CSS 中使用,但正如其他一些人所说,由于某种神奇的原因,这只适用于几页,因此在我的示例的最后一页有一个页脚。
我知道有一个NPM 包支持无头导出,但这种导出比无头 Chrome 本身多花费大约 30% 的时间,并且需要在我公司的服务器上安装和设置 NPM 和包。
如果有人知道通过 CSS 或某些设置在无头 PDF 导出中隐藏 Google Chrome 的默认页眉/页脚的任何方法,请告诉我。
顺便说一句,由于我没有想出其他解决方案,所以我使用了NPM 包。到目前为止,它一直运行良好且可靠,在我的测试中只花费了大约 30% 的时间,所以请记住这一点。
小智 23
最新的 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
Run Code Online (Sandbox Code Playgroud)
参考:源代码
小智 5
也许这个线程可以帮助你。基本上你需要添加CSS如下
@media print {
@page { margin: 0; }
body { margin: 1.6cm; }
}
Run Code Online (Sandbox Code Playgroud)
和“ --no-margins ”参数