javascript - Puppeteer - 如何更改文档中某些页面的方向?

标签 javascript node.js pdf puppeteer

我正在使用 Puppeteer 创建一个 30 页长的 pdf,其中一些页面需要横向显示。如何仅针对页面 x 和页面 y 指定它?

最佳答案

@page 的伪选择器

根据documentationCSS spec ,您可以使用 CSS 为某些页面设置不同的方向。

@page :pseudo-selector{
 size: landscape;
}

可接受且有效的伪选择器(我用 puppeteer 和 google chrome 测试过)包括,

:blank
:first
:left
:right

结果: enter image description here

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/

相关文章:

javascript - forRoot 和 forFeature 的区别 [Nest JS]

javascript - Angular - 如何跨模块共享 Controller ?

c# - Microsoft 报告导出为 pdf 的 rdlc 性能问题

angularjs - 如何在 AngularJS 应用程序中显示 blob (.pdf)

ios - 使用 CGPDFContextCreateWithURL 时 PDF 为空白页

javascript - .live 不能在 Google Chrome 中使用 jQuery,但可以在 IE 中使用

javascript - 在滚动上隐藏一个 div,但在事件时保持可见

javascript - 在node.js中使用tcp发送大文件但收到损坏的文件

node.js - 如何在水线的一个查询中更新

javascript - 为什么我不能在 javascript/nodeJS 中使用 "name"作为静态属性