美文网首页
预览doc、xslx等Office文档和pdf以及Quicklo

预览doc、xslx等Office文档和pdf以及Quicklo

作者: 祥子_HelloWorld | 来源:发表于2019-08-04 01:57 被阅读0次

    在app中我们有时候需要查看一些电脑上的文件,比如常用的Office文件和pdf等,首先想到的是试试用UIWebView加载文件,其实还有一种方法就是用iOS4.0及之后的SDK自带的一种预览的视图控制器来打开文件。但是注意,不管是用上面哪种方法,都不能修改打开的文件,只能是个预览的作用;

    方法一:

    用UIWebView加载文件

    -(void)loadDocument
    {
        NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"doc"];
        NSURL *url = [NSURL fileURLWithPath:path];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
       UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 20, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height-64-20)];
            webView.multipleTouchEnabled = YES;
            webView.scalesPageToFit = YES;
            [self.view addSubview:webView];
        [webView loadRequest:request];
    }
    
    方法二:

    下面方法是直接通过QLPreviewController打开文档
    Quicklook 支持的文件:

    • iWork文档
    • 微软Office97以上版本的文档
    • RTF文档
    • PDF文件
    • 图片文件
    • 文本文件和CSV文件
    首先需要加入framework:

    然后加入头文件:

    #import <QuickLook/QuickLook.h>  
    
    -(void)gotoFile
    {
        QLPreviewController *qlViewController = [[QLPreviewController alloc] init];
        qlViewController.dataSource = self;
        [self.navigationController pushViewController:qlViewController animated:YES];
    }
    
    - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
     {
        return 1;
    }
    
    - (id <QLPreviewItem>)previewController:(QLPreviewController *)controller 
          previewItemAtIndex:(NSInteger)index
    {
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        if (!documentsDirectory) 
        {
              NSLog(@"Documents directory not found!");//return ;
        } 
        NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"test.doc"]; 
        NSURL *myQLDocument = [NSURL fileURLWithPath:appFile];
        return myQLDocument;
    }
    

    相关文章

      网友评论

          本文标题:预览doc、xslx等Office文档和pdf以及Quicklo

          本文链接:https://www.haomeiwen.com/subject/krfrdctx.html