asdw741111 / jspdf-pro

jspdf+html2canvas实现导出pdf,对超长内容、样式问题等做了自动处理
MIT License
26 stars 4 forks source link

导出报错,pages未定义 #2

Closed Jseven86 closed 6 months ago

Jseven86 commented 6 months ago

image 导出时候超长时候就报错了,看了你源码,pages都没定义啊,这你测试过了嘛 image

Jseven86 commented 6 months ago

噢噢,请问下你超长处理具体逻辑是啥呀,看了源码一遍还没想通,我这边都解决了其他问题,就是超长浏览器限制这个问题,想学下你的方案

asdw741111 commented 6 months ago

你这是旧版了,最新版已经解决

asdw741111 commented 6 months ago
image
Jseven86 commented 6 months ago

我这两天下载的代码,我重新clone下看看,谢谢

asdw741111 commented 6 months ago

超长逻辑比较复杂,首先根据宽度计算页面宽度和pdf宽度的比例,结合canvas在浏览器的最大高度获得最大能渲染的html页面高度。 如果小于最大高度就一次渲染并遍历子元素并根据是否跨页等来做细节调整。 如果大于最大高度就需要遍历第一级子元素,执行一遍上边的操作。并且这里由于是遍历子元素所以第一个元素不一定是pdf一页的顶部开始渲染,就需要根据上一步元素渲染完成后剩余空间做调整。

Jseven86 commented 6 months ago

好的,我研究下,谢谢

Jseven86 commented 6 months ago

能出篇文章讲下具体解决过程吗哈哈哈哈

asdw741111 commented 6 months ago

可以考虑,之前我看过一些导出pdf的文章,就是因为他们方案有问题所以才自己写了个,我发现对这个问题解决办法不理解的人还是挺多的,还是有必要写个文章的

Jseven86 commented 6 months ago

好的大佬,期待你的文章