iOS 加载pdf格式的文件
可以加载的方式比较多,暂时先总结两种:
本地先导入一份pdf文件
type 1: 利用UIWebView加载
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(, , self.view.bounds.size.width, self.view.bounds.size.height)];
[self.view addSubview:webView]; NSString *path = [[NSBundle mainBundle] pathForResource:@"基于Apache+JMeter" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
type 2:利用系统的预览文件的框架QuickLook
首先导入框架QuickLook.framework
引入头文件#import <QuickLook/QuickLook.h>
实例化对象
QLPreviewController *myQlPreViewController = [[QLPreviewController alloc]init];
myQlPreViewController.delegate =self;
myQlPreViewController.dataSource =self;
[myQlPreViewController setCurrentPreviewItemIndex:];
//此处可以带导航栏跳转、也可以不带导航栏跳转、也可以拿到View进行Add
[self presentViewController:myQlPreViewController animated:YES completion:^{
NSLog(@"跳转完成");
}];
声明代理
<QLPreviewControllerDelegate,QLPreviewControllerDataSource>
实现协议
#pragma mark - QLPreviewController代理
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
} - (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{ NSString *path = [[NSBundle mainBundle] pathForResource:@"基于Apache+JMeter" ofType:@"pdf"];
return [NSURL fileURLWithPath:path];
} - (void)previewControllerDidDismiss:(QLPreviewController *)controller
{
NSLog(@"预览界面已经消失");
} //文件内部链接点击不进行外部跳转
- (BOOL)previewController:(QLPreviewController *)controller shouldOpenURL:(NSURL *)url forPreviewItem:(id <QLPreviewItem>)item
{
return NO;
}
至此结束,加载过程可能比较缓慢,毕竟需要加载本地pdf文件;
两种方式比较可以看出,第一种加载比较方便,但是内存消耗的比较多,第二种内存消耗的比较少,我实际测的是差20MB(用的模拟器)。
mark ---------
iOS 加载pdf格式的文件的更多相关文章
- IOS加载PDF文件
今天的任务是:在iOS上加载显示pdf文件. 方法一:利用webview -(void)loadDocument:(NSString *)documentName inView:(UIWebView ...
- 通过C#来加载X509格式证书文件并生成RSA对象
private static RSACryptoServiceProvider GetPrivateKey(string priKeyFile, string keyPwd) { var pc = n ...
- ios 加载本地html css文件 ps:css和html必须在同一文件夹下面
NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fileURLWithPath:path]; ...
- iOS 加载本地的html文件
方法1: self.webView = [[UIWebView alloc]initWithFrame:self.view.bounds]; NSString *path = [[NSBundle ...
- cordova程序加载pdf文件的2种方法(ios/android)
前言 公司目前的前端架构是微信端由vue全家桶负责h5网站的单页应用,android端和ios端则选择cordova打包成apk和app.其中,有一个业务逻辑是点击某个链接进入pdf的展示,h5的方案 ...
- 使用 pdf.js 在网页中加载 pdf 文件
在网页中加载并显示PDF文件是最常见的业务需求.例如以下应用场景:(1)在电商网站上购物之后,下载电子发票之前先预览发票.(2)电子商务管理系统中查看发布的公文,公文文件一般是PDF格式的文件. 目前 ...
- Android 如何本地加载pdf文件
大部分app打开pdf文件是通过intent调起手机中能打开pdf文件的工具,来查看pdf文件,如果需求是,用户在app内下载好pdf文件后,不通过第三方的工具,本地打开. 这样的需求要怎么实现呢?上 ...
- Away3D 学习笔记(一): 加载3DS格式的模型文件
加载外部的3DS文件分为两种: 1: 模型与贴图独立于程序的,也就是从外部的文件夹中读取 private function load3DSFile():Loader3D { loader = new ...
- 在iPhoneApp中加载PDF
原文: http://ios.biomsoft.com/2012/02/17/load-a-pdf-file-in-the-iphone-app-smoothly/ 本节将学习如何从服务器加载 pdf ...
随机推荐
- .net面试题升级版
1.列举ASP.NET页面之间传值的几种方式. 答:使用QueryString,如.../id=1;response.Redirect() 使用Session 使用Server.Transfer 使用 ...
- 【转】.net MVC 生命周期
对于Asp.net MVC,我对它的生命周期还是兴趣很浓,于是提出两个问题: 一个HTTP请求从IIS移交到Asp.net运行时,Asp.net MVC是在什么时机获得了控制权并对请求进行处理呢?处理 ...
- mac 好用软件地址存储
Navicat Premium 12.0.24 for mac已破解中文 https://www.52pojie.cn/thread-727433-1-1.html sublime 破解方法https ...
- Java Map类常用方法
关于Map集合中常用的方法: void clear(); 清空Map boolean containsKey(Object key); 判断Map中是否包含这样的key boolean contain ...
- centos自带python2.6升级到python2.7。并解决yum pip easy_install pip等模块兼容性问题
参考原文: https://www.cnblogs.com/kimyeee/p/7250560.html https://www.cnblogs.com/galaxy-gao/p/5796488 ...
- C Primer Plus note8
error: too few arguments to function 'imax'| 运行上面的代码,产生了下面的错误: 中文翻译是:函数imax()中的参数太少. 查看imax()函数声明,发现 ...
- untiy3d小工具——修改scene与prefab中的sprite
坑1:因为替换图片要获取所有包含image的组件,开始我使用的是gameobject.getComponents<Image>()和FindObjectsOfType<Image&g ...
- 关于 ie9 不执行 js 的问题
当写js用 console.log()调试,但没有注释,在ie 9 浏览器上运行时,console.log() 后面的脚本不能再执行了. 为了ie,记得把console.log() 注释
- 利用 Task\Query 实现定位 , FeatureLayer 的属性查询
放纵了几天,又有了学习的动力.今天实现了利用对 FeatureLayer 进行属性查询在地图上进行跳转. 一.我下载了一幅浙江省的县界面地图,存在NAME字段,利用Name就能进行查询了: var n ...
- API——SendMessageTimeout
原文:http://www.cnblogs.com/lzjsky/articles/1777848.html 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口调用窗口程序,并且,如 ...