js html生成图片 自动分页,Columns多栏布局妙用:解决用jspdf加html2canvas生成PDF时文字或图片被分页无情截断问题...

前言

生成PDF有不少种方案,如今只讨论用jspdf加html2canvas生成多页PDF时,相信用过的人也遇到若是文字或图片卡在分页位置处被无情裁断的问题。再次以前先简单介绍下咱们用于解决问题的属性。php

Columns 属性介绍

columns:100px 3; //每列多少宽度 分多少列

也就是:

column-count:3 // 分多少列

column-width: 100px //每列多少宽度css

column-fill: auto; //列排序充列

//默认是balance 就是表明尽可能平均的内容; auto会设置成填满 日后铺

bVbxqhN?w=2486&h=1004

bVbxqh1?w=2458&h=1086

column-gap:40px; //设置列之间的间隔

column-rule:4px outset #ff6430; //列与列之间的分隔线 宽度 线类型 颜色 html

也就是:

column-rule-width //列与列之间的分隔线 宽度

column-rule-style //列与列之间的分隔线 类型

column-rule-color //列与列之间的分隔线 颜色前端

column-count:3; //分红多少列

column-fill: auto; //列排序充列 默认是balance 就是表明尽可能平均的内容; auto会设置成填满 日后铺

column-gap:40px; //列与列之间的距离

column-rule:4px outset #ff6430; // 列与列之间的分隔线

浏览器的兼容

兼容截止我编写时间2019.09.07git

bVbxqEb?w=1872&h=410

bVbxqEd?w=1866&h=306

实际应用

好,如今从新回到咱们的问题。

这个问题是很正常的,事关咱们是用画布截图而后放进去PDF里面,而画布只会根据高度够了就截一张,它是不会去监控那个问题是否是恰好卡在字体或图片的中间呢~ 例如:github

bVbxp2M?w=798&h=990

我前阵子也遇到相同的问题,我这边的解决方法是,舍弃截图从上往下截的截图:canvas

方案: 改用在排版时就已经分页排版好,除了封面外,其它时间页头页脚浮动是页面上方,截图是一页一页的截,这样好处是前端能清晰掌握整个过程和排版甚至是分页的计算。【采用】浏览器

那么若是能解决按每页的排呢???dom

条件发射解决方法:循环页面元素,计算该元素是否恰好卡在一页的高度位置,若是是, 那么咱们把它后面的就不显示了,或者插入个分页结束符等;

很明显这个是行不通的。

一方面是:由于整个document下来 元素不少 大量循环全部的元素来监控也很不科学;

另外一方面:如今这种基于dom结构渲染完了 ,生插一个标签的结束符。例如

这种,也是算不清有多少个种类不一样的结束符; 因此这很明显是个错误示范 咱们中止对于这边的思考。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值