小程序处理PDF需求的“甩锅”记录
需求是这样的,后端会生成一个单页面PDF文件,需要在小程序中展示并下载,方便用户存档或者打印。
然后我就到处去踩坑,做技术选型,结果绿暗花明又一村,把这个需求改成了让后端生成图片展示了。
成功把任务甩给了别人。
以下就是我甩任务的正经理由。
1.下载到本地,并提示用户通过浏览器下载
兼容性:
- 完美,适配iOS和安卓的各个版本
缺点:
- 可能会出现网络劫持
- 用户需要离开微信操作,使用体验不流畅
- 如果文件本身比较敏感,在浏览器中请求有可能出现网络劫持
2.下载到本地,并提示通过分享的方式转发PDF
为了保存而显示分享页面,虽然不完美。如果PDF本身较大,推荐此方法。
兼容性:
- 需要用到wx.shareFileMessage方法,要求微信版本较高
缺点:
- 兼容性问题
详细说明: developers.weixin.qq.com/miniprogram…
3.把PDF转为图片预览下载
前端实现需要pdfjs库,本身比较大,而且需要生成一个webview页面进行渲染,建议由后端实现。 Java的话可以使用org.apache.pdfbox工具包 详细说明: blog.csdn.net/qq_40378034…
兼容性:
- 完美,适配iOS和安卓的各个版本
缺点:
- 使用此方法的前提为PDF为小文件,如果页面较多,用户交互就复杂度就直线上升。
如果你也有相关需求需要解决,可以复制粘贴以上内容给产品经理,一本正经的把工作甩给后端。