使用镀铬无头制作PDF(木偶操纵者)

时间:2017-08-22 11:33:38

标签: javascript pdf puppeteer

我想知道如何使用Chrome Headless(例如puppeteer)获取PDF。它似乎是一个很好的PDF制造商,但只使用@media print的chrome。所以这是我的问题:

我可以在其他浏览器(即mozilla)上通过木偶操作者获取PDF吗?如果我想要没有输入的打印静态页面,我想我可以这样做。但是,如果我有用户输入,他们将其保存在IE浏览器上。我能以某种方式使用它吗?

好的,我下载了木偶戏。我有代码:

$scope.aClick = function(){
        const puppeteer = require('puppeteer');

        (async () => {
          const browser = await puppeteer.launch();
          const page = await browser.newPage();
          await page.goto('/vUrl_form.html', {waitUntil: 'networkidle'});
          await page.pdf({path: 'images/asd.pdf', format: 'A4'});

          browser.close();
        })();
    };

这仍然有用(我不知道为什么,但应用程序无法运行)。

3 个答案:

答案 0 :(得分:3)

不 - Puppeteer仅适用于Chromium / Chrome。

答案 1 :(得分:0)

不幸的是,Puppeteer只适用于Chromium / Chrome。

如果您想使用Headless Mozilla Firefox,可以考虑查看https://developer.mozilla.org/en-US/Firefox/Headless_mode

如果您仍想使用Puppeteer,这是一个创建.pdf文件的工作片段:

const puppeteer = require('puppeteer');

(async() => {

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle'});
// page.pdf() is currently supported only in headless mode.
// @see https://bugs.chromium.org/p/chromium/issues/detail?id=753118
await page.pdf({
  path: 'hn.pdf',
  format: 'letter'
});

browser.close();

})();

答案 2 :(得分:0)

今天可以将firefox与puppeter https://firefox-puppeteer.readthedocs.io/en/master/一起使用。也许当人们回答它时,它不是。但我无法找到pdf功能的网址。只是截图。