我正在尝试使用 HTML 在浏览器(chrome v8)中生成 PDF,并将其发送到 puppeteer。由于 PDF 的某些部分有动态内容,因此 html 是使用 ejs 生成的。动态内容包括图像、html表格(行数和列数是动态的)和文本。
在 HTML 中,我在样式标签中定义了 css 来格式化内容。
虽然字体大小似乎来自样式标签 - 整个内容似乎针对某些内容组合而被压缩/收缩。看起来一个 PDF 内容是在 100% 缩放(正常大小)下生成的,而另一个是在 80% 缩放(所有内容看起来都较小)下生成的。
我尝试删除 img 标签(没有给出额外的 CSS 样式)- 这解决了数据组合的问题。
另外,在某些情况下,右侧的内容会被剪切 - 我尝试将 html 中的 body 标记设置为 100% 的宽度,但这并没有解决问题。
在浏览器中将 EJS 生成的 HTML 作为纯 HTML 文件查看 - 与 PDF 显示大小变化的情况没有区别。
任何解决此问题的指示将不胜感激。
字体大小设置为
* {
Font-size: 16px;
}
Run Code Online (Sandbox Code Playgroud)
Puppeteer 代码片段如下:
const browser = await puppeteer.launch({
args: ['--no-sandbox'],
headless: true
});
await page.setContent(bodyHtml, {
waitUntil: 'networkidle0'
});
var options = …Run Code Online (Sandbox Code Playgroud)