我正在使用puppeteer和node js创建一个屏幕截图生成器。它适用于普通网页,但对于pdf页面,每次运行时总是会出现相同的错误
这是代码(https://github.com/GoogleChrome/puppeteer的第一个示例)
FILTER p.vertices[1].property == 'P6'
我得到的错误
const puppeteer = require('puppeteer');
(async () => {
try {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf');
await page.screenshot({ path: 'example.png' });
await browser.close();
} catch (err) {
console.log(err);
}
})();
感谢您的帮助。我也欢迎其他任何可能的解决方案。
答案 0 :(得分:0)
无头Chrome为not able to visit PDF pages,在您遇到问题时将抛出错误@objc
func managedObjectContextWillSave(notification: NSNotification) {
for object in (notification.object as! NSManagedObjectContext).updatedObjects {
if let note = object as? Note {
//Do Something like loading table cell again
}
}
}
。尽管您可以使用Error: net::ERR_ABORTED
访问PDF文档,但是截屏也会失败,因为PDF不是真正的网站,实际上是在单独的视图中呈现的。
您可以做的是下载页面并使用PDF.js创建页面图像。您可能想查看有关“ pdf到图像”或“ pdf预览”主题的其他信息。关于该主题以及1本身,有很多关于stackoverflow(2,examples on the PDF.js page,..)的问题。
答案 1 :(得分:0)
Chromium不允许以headless true模式打开pdf文件,请改用headless false模式。 等待puppeteer.launch({args:['--no-sandbox'],headless:false})