iOS 加载PDF问题无法显示电子章问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 加载PDF问题无法显示电子章问题相关的知识,希望对你有一定的参考价值。
参考技术A公司项目中需要显示订单合同PDF文件。正常情况下,加载pdf文件直接通过UIWebView或者WKWebView就可以。不过实际情况中,PDF文件如果存在 电子签名(签章) 的话,直接通过webView是无法查看到 电子签名(签章) 的。可以写个简单的demo对 http://blogs.adobe.com/security/SampleSignedPDFDocument.pdf 这个pdf文件进行查看对比:
之前直接使用WKWebview加载pdf地址来处理的,具体实现是通过远端的 pdfviewer (可以理解为web端的pdf查看页面)拼接 pdf 的url 路径来加载的,大概如下:
不过由于存在跨域问题,需要进行cookie的注入操作,并且从远端进行解析加载pdf速度一直很慢,所有想尝试其他的方法。
调研过程略...
调研相关链接:
ios展示pdf签名时遇到的问题及解决办法
iOS实现PDF阅读功能调研
接入教程直接参照: iOS使用pdf.js打开PDF文件
参照上面的步骤介入后发现还是无法显示 电子签名(签章) 在查看 pdf.js 上的 issue 后发现有相关issue 如下:
其中 #4743 中 Osukaru 提出了解决方案:
在 src/core/annotation.js第601行(当前版本) 中
(后面查询过程中发现在 使用PDF.js如何显示pdf文件的电子签章 中也提到同样的解决办法。)
将 clone 下来的 pdf.js 中 src/core/annotation.js 文件修改后按照 iOS使用pdf.js打开PDF文件
重新构建执行
再接入到工程项目中即可,最终效果:
注意,这里没有使用上面提供的 http://blogs.adobe.com/security/SampleSignedPDFDocument.pdf 进行验证,是因为在运行过程中会crash,并抛出 WebActionDisablingCALayerDelegate willBeRemoved]: unrecognized selector sent 错误
以上是关于iOS 加载PDF问题无法显示电子章问题的主要内容,如果未能解决你的问题,请参考以下文章