JS实现的pdf自动分页程序
下面由900行代码,只说使用
应用场景:
资源加载完毕后,数据处理完毕,一个html网页固定宽度,不修改dom节点样式进行自动分页
前端html铺dom节点,还有css样式渲染,有几个规范: 必须有一个 id为pdf的div节点(不是div可能有问题),我们把他叫做根节点
根节点下面必须放 class为pdf-page 的div节点(不是div可能有问题,我觉得dom分出层次结构用div比较好),我们把这个节点叫做一页pdf(但这个 pdf不需要去控制他的高度,只要往里面铺数据就好了,分页程序会自动把高度调整好)
一页pdf:页眉可有可无,页脚可有可无,页眉页脚高度不会干预,但是页内容的高度就是整个pdf高度减去页眉和页脚高度,所以当页眉页脚没有时,其实就是一个封面,但是封面请独立放在一个pdf-page节点中,还需要控制它的高度,因为封面特殊呀
好了,真正铺内容的地方需要放在
pdf-page节点下的 pdf-content节点,这个节点必须是div,
pdf-content节点下面直接子节点只要不是p节点就好,p节点有诡异问题,如果要使用p节点,那么请使用一个div包起来
pdf-content节点下面直接子节点分两种:
class为atomic-node节点,代表原子不可拆分节点
class为split-node节点, 代表可拆分节点,注意split-node节点下可以继续有split-node的直接子节点,但是每一个split-node节点下面必须有一个不是split-node节点,因为只要不是split-node节点,那么再split-node节点下面的节点默认当成原子节点处理
示例
只要是下面这种形式的就可以使用此分页算法
1 |
|
拦截器:
1 |
|
监听器:
1 |
|
源码
1 | import $ from 'jquery' |
- 本文作者: 忘忧症
- 本文链接: https://NepenthesZGW.github.io/2020/08/25/web/pdf分页/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!