Firefox headless --打印到 pdf 选项

问题描述 投票:0回答:2

Firefox headless 是否包含打印为 PDF 的选项? Chrome headless 支持它,但我不确定 Firefox 是否支持。

firefox headless
2个回答
3
投票

我似乎没有找到任何关于 Firefox 无头模式打印 PDF 的参考。但是,从 Firefox 57 开始,有一个选项可以截取页面屏幕截图:

/path/to/firefox -headless -screenshot https://developer.mozilla.com

0
投票

您可以使用 GeckoDriver 打印为 PDF。

例如,使用 Node.js Selenium 绑定,您可以编写如下脚本:

(async function() {
  const {Builder} = require('selenium-webdriver');
  const firefox = require('selenium-webdriver/firefox');
  const {writeFileSync} = require('fs');

  let options = new firefox.Options().addArguments('--headless');
  let driver = await new Builder().forBrowser('firefox').setFirefoxOptions(options).build();

  try {
    await driver.get(process.argv[2]);

    let printResult = await driver.printPage({background: true, width: 21.0, height: 29.7}); // A4
    let printResultDecoded = Buffer.from(printResult, 'base64')

    writeFileSync(process.argv[3], printResultDecoded);
  } finally {
    await driver.close();
  }
})();

然后像这样简单地调用它:

node pdf-driver.js https://example.com/URL/TO/PRINT ./PDF-RESULT.pdf
© www.soinside.com 2019 - 2024. All rights reserved.