一、
iOS12 系統(tǒng)可以直接使用WKWebView 加載pdf URL即可勋陪,便會顯示電子簽章
WKWebView從iOS 8 開始
二、
對于iOS 12以下版本使用pdf.js加載
注意:一定要把pdf下載到本地硫兰,否則報206錯誤
切記:拖到工程時選擇 Create folder references
注意
使用UIWebView
默認(rèn)是不顯示電子簽章诅愚、簽名的,需要將pdf.worker.js文件相關(guān)代碼注釋
if (data.fieldType === 'Sig') {
// this.setFlags(_util.AnnotationFlag.HIDDEN);
}
pdf下載地址火狐瀏覽器的開源項(xiàng)目
但是要注意一下劫映,高版本可能也不顯示
下載之后把build和web拖到工程
使用方式
- (void)loadPDFFile:(NSString*)filePath {
NSString *viwerPath = [[NSBundle mainBundle] pathForResource:@"viewer" ofType:@"html" inDirectory:@"minified/web"];
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/"];
NSString *filePathForPDF = [path stringByAppendingPathComponent:filePath.lastPathComponent];
NSString *urlStr = [NSString stringWithFormat:@"%@?file=%@#page=1",viwerPath,filePathForPDF];
urlStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
[self.uiWebView loadRequest:request];
}
如果需要修改加載頁面的布局樣式违孝,或者隱藏下載按鈕等,把viewer.html文件中相關(guān)代碼注釋掉泳赋,或者修改相關(guān)屬性即可 雌桑。
以上就完成了
可以嘗試不下載直接去加載,但是可能會遇到跨區(qū)問題祖今,也可能是服務(wù)端問題
1.需要把viewer.js文件將判斷注釋掉筹燕,pdf.js版本不同可能有些出入
// if (fileOrigin !== viewerOrigin) {
// throw new Error('file origin does not match viewer\'s');
// }
2.將 viewer.js的 var DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf'; 默認(rèn)路徑刪掉,改為var DEFAULT_URL = '';
三衅鹿、
Android類似