You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Chrome CLI将HTML保存为PDF时如何设置横向模式

--Landscape=true不是Chrome无头模式的有效命令行参数,因此无法生效,以下是两种可行的解决方案:

解决方法

方法1:修改HTML打印样式(无需修改命令,操作最简单)

直接在你的MyHtml.html文件的<head>标签内添加如下CSS规则,即可强制打印时默认使用横向模式:

@page {
  size: A4 landscape;
  /* 可按需额外配置打印边距,示例:margin: 1cm; */
}

修改完HTML后,去掉原命令中无效的--Landscape=true参数直接运行即可:

google-chrome --headless --disable-gpu --run-all-compositor-stages-before-draw --print-to-pdf-no-header --print-to-pdf="MyPdf.pdf" "MyHtml.html"

方法2:通过DevTools协议传参(无需修改源HTML,灵活度更高)

如果不能修改源HTML文件,可以调用Chrome DevTools的Page.printToPDF接口传入横向配置,以下是用Puppeteer实现的最简示例:

  1. 首先安装Puppeteer依赖
npm install puppeteer
  1. 新建打印脚本print.js,替换其中的文件路径为你自己的本地路径:
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('file:///你的本地路径/MyHtml.html', { waitUntil: 'networkidle0' });
  await page.pdf({
    path: 'MyPdf.pdf',
    landscape: true,
    printBackground: true,
    displayHeaderFooter: false
  });
  await browser.close();
})();
  1. 运行脚本即可生成横向PDF
node print.js

内容的提问来源于stack exchange,提问作者Xaphann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:06:08