ios显示PDF电子签章

      先来描述一下我遇到的问题,前段时间公司换了电子合同,把原来的文本合同改成了PDF。一开始以为ios只需要改一下Url地址就可以了,然后还是用UIWebView加载一下就可以,万万没想到h5给的url加载不出来,Url用手机和Mac的Safari都能打开而且带签章,心想什么鬼啊~~之前也遇到过加载通过h5处理后的PDF的Url打不开,解决办法是直接用UIWebView直接加载PDF的文件路径。这次加载不了我也直接问后台要了PDF的文件路径然后放在UIWebView加载,问题不大,直接就加载出来了。但是!wtf!电子签章没有显示出来。后来又尝试直接接受字节流加载也是显示不出来,然后一番Google~原来问题可以用QLPreviewController加载出来!!废话不多说,直接上代码,超级简单。

QLPreviewControllerDataSource,QLPreviewControllerDelegate  导入两个协议

@property (strong, nonatomic)QLPreviewController *previewController;

@property (copy, nonatomic)NSURL *fileURL;

//1.创建

    _previewController = [[QLPreviewController alloc] init];

    //2.设置代理

    _previewController.dataSource = self;

    _previewController.delegate = self;

  [self presentViewController:self.previewController animated:YES completion:nil];

//刷新界面,如果不刷新的话,不重新走一遍代理方法,返回的url还是上一次的url

[self.previewController refreshCurrentPreviewItem];


//2.实现代理QLPreviewControllerDelegate

- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{

 //返回当前预览文件的个数 return 1; 

 }

- (id)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index{

    //    NSURL *url = [NSURL fileURLWithPath:@"https://www.tutorialspoint.com/ios/ios_tutorial.pdf"];

    //返回每一个要预览的文件的地址 return url;

    return self.fileURL;

}


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容