puppeteer生成pdf文件分页如何优化:css page-break
Author:zhoulujun Date:
用puppeteer将html文件转成pdf,生成文件分页不尽人意,甚至但直接从一行文本中间分开,如何优化呢?
很多时候,我希望分页有我自己的控制,比如标题2,都作为页首。
之前我想到的是利用js取计算内容,自动插入hr 这种笨办法。而忽略了CSS本身就支持这个
强制分页:让指定元素单独成页
想要打印的时候手工分页,css 提供了page-break属性供开发设置,具体参看:
https://developer.mozilla.org/en-US/docs/Web/CSS/page
https://css-tricks.com/almanac/properties/p/page-break/
使用 CSS 的 page-break-before 或 page-break-after 属性强制分页:
/* 在某个元素前强制分页 */ .force-page-break-before { page-break-before: always; } /* 在某个元素后强制分页 */ .force-page-break-after { page-break-after: always; } /* 禁止元素内部分页(如表格不跨页) */ .no-break-inside { page-break-inside: avoid; }
示例 HTML:
<div class="content">第一页内容</div> <!-- 在此处强制分页 --> <div class="force-page-break-before"> 这个内容会从新的一页开始 </div>
参考文章:
https://stackoverflow.com/questions/1664049/can-i-force-a-page-break-in-html-printing
https://cnodejs.org/topic/5b38c621ac8bc1e124114525
转载本站文章《puppeteer生成pdf文件分页如何优化:css page-break》,
请注明出处:https://www.zhoulujun.cn/html/webfront/browser/Puppeteer/9491.html