我想知道如何使用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();
})();
};
这仍然有用(我不知道为什么,但应用程序无法运行)。
答案 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功能的网址。只是截图。