公司有电子签名的业务,需要在App端展示已盖章签名的PDF。开发期间遇到不解的现象,在Mac、Windows、Andorid上,不论是用浏览器,还是系统自带的PDF阅读引擎,都可正常显示PDF中的签名和盖章,唯独在iOS上,不论用WKWebView
、UIWebView
、Safari
、Quicklook
、UIDocumentInteractionController
,都无法显示PDF中的签名和盖章。
询问Stackoverflow
,找到解释如下:iOS下pdf无法显示签名的问题 。
解决办法:
使用PDF.js;
优点是集成简单,功能非常强大(囊括了打印、分享、保存、页面跳转、缩略图、备注、搜索等功能),用在iOS中,去掉不需要的文件后,整个SDK只有不到2M;基于浏览器,所以跨平台性优秀。
缺点是需要依赖
UIWebView
,而且性能低。使用其他PDF浏览内核,如MUPDF,PSPDF等,这些第三方的pdf阅读SDK都有iOS版本。
优点是原生性能;
缺点是集成不方便,如MUPDF的SDK将近400M,虽然编译之后的App安装包不会大多少,但会使得项目本身变得庞大,不好维护。还有,这些阅读器可能不支持纵向浏览,比如MUPDF,只能左右换页。另外,像PDF.js的强大功能,这个第三方pdf阅读器很多都没有,比如缩略图、备注、搜索。最后,不同平台可能会有不一样的功能和界面,跨平台性逊色。