我正在使用 Puppeteer 创建一个 30 页长的 pdf,其中一些页面需要横向显示。如何仅针对页面 x 和页面 y 指定它?
最佳答案
@page 的伪选择器
根据documentation或 CSS spec ,您可以使用 CSS 为某些页面设置不同的方向。
@page :pseudo-selector{
size: landscape;
}
可接受且有效的伪选择器(我用 puppeteer 和 google chrome 测试过)包括,
:blank
:first
:left
:right
PS:在回答的时候,草稿中提到的其他选择器如 :nth-child
和页面标识在 chrome 版本 73 上不起作用。
替代方式
处理此问题的唯一其他方法是分别打印页面,然后再合并它们。您可以使用 pageRanges
打印特定页面,
page.pdf({pageRanges: '1-5', path: 'first.pdf'})
并使用像pdf-merge
这样的包来合并两个pdf文件。
const PDFMerge = require('pdf-merge');
PDFMerge(['first.pdf', 'second.pdf'], {output: `${__dirname}/3.pdf`})
关于javascript - Puppeteer - 如何更改文档中某些页面的方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956906/