【发布时间】:2018-10-26 04:27:55
【问题描述】:
我正在使用puppeteer生成pdf,开发环境如下:
本地环境:
- Puppeteer 版本:1.3.0 平台/操作系统
- 版本:Windows 10 Node.js
- 版本:v8.11.11
服务器环境:
- Puppeteer 版本:1.3.0
- 平台/操作系统版本:CentOS Linux 版本 7.4.1708(核心)
- Node.js 版本:v8.11.11
我面临的问题是从服务器生成的 PDf 尺寸很大,而且字体也不会加载。 结果如下PDF。
请注意下面的 HTML 是从我的 html 文件中复制的 用于创建 PDF(作为 URL)。 [我正在使用 page.goto 的 URL 到 生成PDF]。
<html>
<body>
FOOOO <span style="font-family: Impact, Charcoal">impact</span>
<span style="font-family: 'Courier New', Courier, monospace">courier</span>
</body>
</html>
代码sn-ps如下:
const config = {
headless: true,
ignoreHTTPSErrors: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage'
],
};
browser = await puppeteer.launch(config);
page = await browser.newPage({ context: 'another-context' });
await page.goto(pageURL, {timeout: 50000,waitUntil: ['domcontentloaded','networkidle0']});
await page.emulateMedia('screen');
const pdfOptions = {
format,
pageRanges,
printBackground:true
}
const pdf = await page.pdf(pdfOptions);
我在环境中缺少任何东西,我是 Centos 的新手(如果缺少任何东西)。 请帮忙,因为我无法找出这里缺少什么。
预期的结果是什么? 通过本地和服务器创建的 PDF 应该是相同的。相同的代码,相同的字体和大小。
会发生什么? 生成的服务器 PDf 比本地大,不加载 PDF。
【问题讨论】:
-
您的问题似乎不包含实际的 PDF,也没有显示任何代码供我们查看。 Stack Overflow 是针对编程问题的,你用的代码在哪里?
标签: node.js pdf centos puppeteer