打开PDF 需要的库QuickLook.framework

2024-02-17 04:48

本文主要是介绍打开PDF 需要的库QuickLook.framework,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://blog.sina.com.cn/s/blog_7fa6b06f0101dh1b.html

打开PDF 需要的库QuickLook.framework

//得到文件存放路径

-(NSString*)GetKnowledgeFileFullPath:(NSString*)FileName

{

  @try {

      // 文件存放目录

      NSString *pngDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

      NSFileManager *fileMgr = [NSFileManager defaultManager];

      NSError *err;

      [fileMgr createDirectoryAtPath:pngDir withIntermediateDirectories:YES attributes:nil error:&err];

      NSString *FileFullPath = [pngDir stringByAppendingPathComponent:FileName];

     

      return FileFullPath;

  }

  @catch (NSException *exception) {

      return nil;

  }

  @finally {

     

  }

 

}


//根据路径预览文件

//===========================================================================

// 预览指定的文件

// (支持iWork documentsMicrosoft Office documents (Office ‘97 and newer)Rich Text Format

// (RTF) documentsPDF filesImagesText files whose uniform type identifier (UTI) conforms

//  to the public.text typComma-separated value (csv) files)

//===========================================================================

- (void)PreviewKnowledge:(NSString*)KnowledgeFullPath

{

  @try {

      QLPreviewController *previewoCntroller = [[QLPreviewController alloc] init]; 

      BZPreviewDataSource *dataSource = [[BZPreviewDataSource alloc]init]; 

      dataSource.path = [[NSString alloc] initWithString:KnowledgeFullPath]; 

      previewoCntroller.dataSource = dataSource; 

      [previewoCntroller setTitle:@"test"]; 

      previewoCntroller.navigationItem.rightBarButtonItem=nil

      float version = [[[UIDevice currentDevice] systemVersion] floatValue];

      if (version >= 5.0){

//此函数是5.0之后的函数。

          [self presentViewController:previewoCntroller animated:YES completion:nil];

      }

      else {

          //[self presentModalViewController:previewoCntroller animated:YES];

          [self.navigationController pushViewController:previewoCntroller animated:YES];

      }


  }

  @catch (NSException *exception) {

      [Logger WriteLog:__FILE__ funcName:__func__ lineNum:__LINE__ exceptionObj:exception textInf:NULL];

  }

  @finally {

     

  }

 

}


//BZPreviewDataSource类
//类的头文件

#import <Foundation/Foundation.h>

#import <QuickLook/QuickLook.h>


@interface BZPreviewDataSource : NSObject<QLPreviewControllerDataSource>


@property (nonatomic, retain) NSString *path;


@end



//类的实现

#import "BZPreviewDataSource.h"


@implementation BZPreviewDataSource


@synthesize path = _path;


- (NSInteger) numberOfPreviewItemsInPreviewController: (QLPreviewController *) controller  

  return 1


- (id <<span style="color: #7340a3">QLPreviewItem>)previewController: (QLPreviewController *)controller previewItemAtIndex:(NSInteger)index  

 

  return [NSURL fileURLWithPath:_path]; 

@end



 

这篇关于打开PDF 需要的库QuickLook.framework的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/716717

相关文章

Windows中,.net framework 3.5安装

安装.net framework,目前已知2种方法,如下: 一、在MSDN下载对应的安装包,安装,这种可能无法安装成功,概率很大,不成功使用第二种方法,基本上没问题。 二、win8/8.1/10 下安装 .net framework 3.5.1: 1. 打开 win8/8.1/10 安装盘(这里指系统安装镜像文件),提取 sources\sxs 文件夹到 X:\sources\sxs (X代

uniapp H5打开地图

manifest.json文件,源码视图找到H5添加下面内容 "h5" : {"sdkConfigs" : {"maps" : {"amap" : {"key" : "**********************","securityJsCode" : "****************************","serviceHost" : ""}}}} 高德开放平台 申请时选择(W

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

【Linux文件系统】被打开的文件与文件系统的文件之间的关联刨析总结

操作系统管理物理内存以及与外设磁盘硬件进行数据的交换 操作系统如何管理物理内存呢? 其实操作系统内核先对内存先描述再组织的!操作系统管理内存的基本单位是4KB,操作系统会为每一个4KB大小的物理内存块创建一个描述该4KB内存块的struct page结构体,该结构体存储着这4KB内存块的属性信息,通过管理struct page来对内存进行管理,page结构体的大小比较小,OS通常将它们组成一个

Kimichat使用案例026:AI翻译英语PDF文档的3种方法

文章目录 一、介绍二、腾讯交互翻译TranSmart https://transmart.qq.com/三、沉浸式翻译三、谷歌网页翻译 一、介绍 短的文章,直接丢进kimichat、ChatGPT里面很快就可以翻译完成,而且效果很佳。但是,很长的PDF文档整篇需要翻译,怎么办呢? 二、腾讯交互翻译TranSmart https://transmart.qq.com/ 软件

解除浏览器打开主页被锁定,修改方法

打开360安全卫士--》系统修复: 具体看如下截图就清楚 <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"sh

【若依前后端分离】前端vue页面查看服务器本地的PDF

后端实现: 使用FileSystemResource包装文件,以便Spring MVC可以处理该资源 创建HttpHeaders对象以设置响应头 设置Content-Disposition头,使得浏览器以内联方式显示PDF(即在浏览器中直接打开) 设置Content-Type为application/pdf,指示响应体是一个PDF文件 构建并返回带有指定头信息和PDF资源的ResponseE

在浏览器中打开预览sublime text当前所编辑文件的方法和快捷键设置

配置在Chrome,Firefox中打开 安装 SideBarEnhancements 然后通过ctrl + k, ctrl + b打开侧边栏,在侧边栏的文件中右击,找到 open width -> edit applications 然后在这里边设置firefox打开的方式。 application : 路径要修改为自己默认安装的路径。 [     {

Android Framework学习(四)之Launcher启动流程解析

在之前的博客中,我们学习了init进程、Zygote进程和SyetemServer进程的启动过程,我们知道SystemServer进程主要用于启动系统的各种服务,二者其中就包含了负责启动Launcher的服务,LauncherAppService,本篇博客我们将一起学习Launcher相关的知识。 Launcher概述 Launcher程序就是我们平时看到的桌面程序,它其实也是一个Androi