首先说版本问题,我用的2.1.226版本,会有长文章加载不全的问题,看了网上好多人说的,说是2.2.228版本的最稳定;
可以看https://www.cnblogs.com/baisong11/p/13731436.html
解决方案
方案一:修改源码
https://blog.csdn.net/s_y_w123/article/details/108869862
方案二:线上或本地资源包
https://www.cnblogs.com/KingJames/p/11763590.html
我的pdfjs-dist的版本是2.1.266.
最开始使用了线上的资源包,在本地测试的确实很好,没有任何问题,但是当没用外网的时候,此处的资源会找不见,然后报错。
const src = {
url: url,
httpHeaders: myHeader,
withCredentials: true,
cMapUrl: "https://cdn.jsdelivr.net/npm/pdfjs-dist@2.2.228/cmaps/",
cMapPacked: true,
}
此处提供cmaps的2个CDN地址(2.2.228为pdfjs-dist的版本号):
https://unpkg.com/browse/pdfjs-dist@2.2.228/cmaps/
https://cdn.jsdelivr.net/npm/pdfjs-dist@2.2.228/cmaps/
本地资源包,需要把资源包下载到本地(下载地址)。
下载下来是完整的包,只需要把cmaps引入到本地文件即可;放到public文件夹下。
然后从本地引入
const src = {
url: url,
httpHeaders: myHeader,
withCredentials: true,
cMapUrl:'./pdf/cmaps/',
cMapPacked: true,
}
这样在没有外网的情况下也可以正常加载了。