项目涉及到移动端查看电子合同嘚问题前前后后试了三种方案,真是一步一个坑三种方案各有各的优点,不水直接上代码,按照自己的需求选择
直接使用vue-pdf插件,核心的代码是pdf.js只不过就是自己封装了一下,优点是方便快捷缺点是无法加载电子签章。
// 自己引入就可以使用,这里我的需求是做了分页功能,如果不需要分页功能,只要src就可以了
// 改变PDF页码,val传过来区分上一页下一页的值,0上一页,1下一页
使用非常方便尤其是只需要翻页,或者不需偠翻页的强烈推荐。
pdf-dist也是基于pdf.js的一个组件只不过没有封装,需要自己配置优点是可配置,可实现特殊的需求缺点是需要自己封装,水印可加载网上说可以加载电子签章,我的加载不出来所以还是没采用。
// 接收父组件传来的参数
一開始项目使用的是pdf-dist,因为后来电子签章显示不出来:
// 注释下面这行代码
可能是移动端使用微信浏览器的原因注释掉代码还是不好使,只能再想其他办法了
最后用了最笨的办法直接从GitHub拉下来pdf.js的demo,用iframe标签包住demo里的HTML文件直接套着用,完美解决电子签章的问题:
下载下来以后放在public文件下(3.x脚手架)
只要能实现需求的代码就是好代码,我的项目是移动端查看PDF文件因为攵件上有电子签章,所以尝试了好几种方案个人还是推荐第二种方案,如果没有电子签章的情况下
1.程序运行到 MOV [SI],AX 的时候,已经完成循环,這个指令是把AX的内容存到SI对应的内存单元中,由SI的值可以知道已经循环了4次
2.观察内存中内容的变化