处理pdf.js无法完全显示pdf文件内容的问题
转载(https://www.cnblogs.com/KingJames/p/11763590.html)
一、遇到的问题:预览pdf文件时,很多内容未显示。****
image
查看控制台,出现以下警告
Warning: Error during font loading: The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.
image
二、跟踪源码,排查起因
imageimageimage
从下图可以发现baseUrl取值为params.cMapUrl
image
找到调用WorkerTransport方法处:
imageimageimage
最终修改,增加最后两行
params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory; params.ignoreErrors = params.stopAtErrors !== true; params.fontExtraProperties = params.fontExtraProperties === true; params.pdfBug = params.pdfBug === true; // 处理pdf.js无法完全显示pdf文件内容的问题 params.cMapPacked = true params.cMapUrl = window.location.origin + "/pdf/web/cmaps/"
该问题的起因是由于缺少了部分字体包,也可使用CDN方式加载字体包。
此处提供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/
加载字体包后,效果如下图(部分内容已打马赛克):
image
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 处理pdf.js无法完全显示pdf文件内容的问题
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 处理pdf.js无法完全显示pdf文件内容的问题