首先我嗯来理解一下jspdf 到底要如何将图片进行切割。
很遗憾的是没有原生代码支持图片切割。你只能在一个页面上显示这个大图的某一部分。而不是切割他。
pdf.addImage(img, 'JPEG', x, position, imgWidth, imgHeight);
img是base64图片变量也可以是图片路径。
x是代表记录x的位置
position 是图片上移或者下移多少像素。
如果是负数则是往上移动。
imgWidth 原始宽度。
imgHeight 原始高度。
如果要调整图片在页面显示不同的位置,只能调整第一个参数x和第二个参数position.
并且在每一页都复制一张这样的图片
pdf.addPage([w,h]);
新增一个页面,pdf每个页面的宽高都可以是不同的。
一定要记得有个 [] 我之前在这里吃了大亏。
在分割页面的时候有一个特别需要注意的地方。就是宽高比
如果你的高度小于你的宽度,页面会保持一个脚小的宽高比,导致你的页面显示不全。
这个时候需要做一个判断。如果高度小于宽度的时候。则新建一个横着放的页面。
pdf.addPage([imgWidth, h],"l");
如果把上面的参数换成p就是正常的竖着的。
api
地址
http://raw.githack.com/MrRio/jsPDF/master/docs/jsPDF.html#addPage
在线测试代码地址