我正在使用Puppeteer创建一个30页的长pdf,其中一些页面需要横向。如何才能仅为第x页和第y页指定它?
发布于 2019-03-03 15:52:11
@page的伪选择器
根据documentation或CSS spec,您可以使用CSS为某些页面设置不同的方向。
@page :pseudo-selector{
size: landscape;
}
可接受和有效的伪选择器(我用puppeteer和google chrome测试过的)包括:
:blank
:first
:left
:right
结果:
PS:在回答的时刻,草案中提到的其他选择器,如:nth-child
和page identifies在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`})
https://stackoverflow.com/questions/54956906
复制相似问题