重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

ios核心开发pdf,资深ios开发

ios开发里面有没有读取pdf文件的代码

在iOS创建PDF文件中简单介绍了如何生成pdf文件。现在有需求要显示PDF文档。看了一下Apple的API,大概有两种方法:

创新互联是一家集网站建设,铜鼓企业网站建设,铜鼓品牌网站建设,网站定制,铜鼓网站建设报价,网络营销,网络优化,铜鼓网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

使用WebView,可以直接读取PDF,这个比较简单,可参见:最简单的WebView应用,缺点是自定义的能力较弱,优点是简单,像读取网页一样;

使用自定义的UIView,需要继承UIView,自定义效果很好,问题是需要了解和使用的API较多。

本文只说明自定义UIView的方法。实现的在iPad模拟器上的效果:

本文方法参考了:官方文档。见A function that draw a PDF page的代码部分:

void MyDisplayPDFPage (CGContextRef myContext,

size_t pageNumber,

const char *filename)

{

CGPDFDocumentRef document;

CGPDFPageRef page;

CGRect box;

document = MyGetPDFDocumentRef (filename);// 1

page = CGPDFDocumentGetPage (document, pageNumber);// 2

CGContextDrawPDFPage (myContext, page);// 3

CGPDFDocumentRelease (document);// 4

}

ios开发生成pdf中文是乱码怎么解决

- (NSURL *)convertTxtEncoding:(NSURL *)fileUrl

{

if ([FileManagementAPI getFileSize:[fileUrl path]] 1024*1024.0f)

{

return fileUrl;

}

NSString *tmpFilePath = [NSString stringWithFormat:@"%@/tmp/%@", NSHomeDirectory(), [fileUrl lastPathComponent]];

NSLog(@"tmpFilePath=%@", tmpFilePath);

NSURL *tmpFileUrl = [NSURL fileURLWithPath:tmpFilePath];

NSStringEncoding encode;

NSString *contentStr = [NSString stringWithContentsOfURL:fileUrl usedEncoding:encode error:NULL];

if (contentStr)

{

[contentStr writeToURL:tmpFileUrl atomically:YES encoding:NSUTF16StringEncoding error:NULL];

return tmpFileUrl;

}

else

{

NSStringEncoding convertEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

contentStr = [NSString stringWithContentsOfURL:fileUrl encoding:convertEncoding error:NULL];

if (contentStr)

{

[contentStr writeToURL:tmpFileUrl atomically:YES encoding:NSUTF16StringEncoding error:NULL];

return tmpFileUrl;

}

else

{

return fileUrl;

}

}

}

//显示的时候调用这个

NSURL *url = [self.documentURLArray objectAtIndex:index];

if ([url pathExtension] ([[[url pathExtension] lowercaseString] isEqualToString:@"txt"] || [[[url pathExtension] lowercaseString] isEqualToString:@"text"]))

{

return [self convertTxtEncoding:url];

}

else

{

return url;

}

iOS PDF文件预览的几种方法

前段时间公司项目加了许多关于PDF文件操作的需求,其中包括 PDF文档的预览 、 PDF文件格式转换 、 从其他App获取文件 、 PDF文档的批注与修改 。这篇文章我会先记录下PDF文档的几种预览方式。

先看效果:

苹果的webView组件可以预览各种格式的文件,支持在线预览和本地预览,相比于安卓的webView控件简直就是一大神器,UIWebview使用起来也非常简单

QLPreviewController 是系统自带的文件预览控制器,QL全称 quick look 快速查看的意思,要使用QLPreviewController先得在文件中导入头文件 #import QuickLook/QuickLook.h ,并且实现其代理方法 QLPreviewControllerDelegate

使用UIDocumentInteractionController预览文件也得遵循 UIDocumentInteractionControllerDelegate 代理方法,UIDocumentInteractionController本身并不是一个控制器类,它直接继承 NSObject ,所以就不能直接push或者模态跳转了,所以需要使用它类方法提供的模态跳转函数

利用 CGContexDrawPDFPage 和 UIPageViewController 实现翻页浏览功能,这种方法只能加载本地的PDF文件,但是显示效果比其他几种炫酷很多。具体使用方法参考 iOS开发笔记——PDF的显示和浏览 这篇博客。也可以参考本文的 Demo

关于PDF文档的预览其实不止上文介绍的几种方法,还可以通过第三方SDK来加载并对PDF文档进行批注与修改,等有时间我会放在后面一起介绍。

《高性能iOS应用开发》pdf下载在线阅读,求百度网盘云资源

《高性能iOS应用开发》([美] Gaurav Vaish)电子书网盘下载免费在线阅读

资源链接:

链接:

提取码:iuk2    

书名:高性能iOS应用开发

作者:[美] Gaurav Vaish

译者:梁士兴

豆瓣评分:7.8

出版社:人民邮电出版社

出版年份:2017-4

页数:384

内容简介:性能对用户体验有着至关重要的影响。本书将介绍对用户体验产生负面影响的各个方面,并概述如何优化iOS应用的性能。全书共5个部分,主要从性能的衡量标准、对应用至关重要的核心优化点、iOS应用开发特有的性能优化技术以及性能的非代码方面,讲解了应用性能的优化问题。本书的主要目的是展示如何从工程学的角度编写最优代码。本书适合已经具有Objective-C和iOS实践经验的开发人员阅读。

作者简介:作者简介:

Gaurav Vaish  就职于雅虎公司的移动和新兴产品团队,为每月有数亿人使用的移动应用创建优雅的可重用方案。他曾是IIT全球指导计划的成员,还在印度班加罗尔创立了InColeg Learning及Edujini Labs有限公司。

译者简介:

梁士兴  毕业于北京航空航天大学,现任职美团-大众点评iOS高级技术专家。有多年的一线iOS开发经验,对于iOS应用性能有深入研究和独到见解。对iOS前沿技术、移动应用架构模式非常感兴趣。

郝田田  毕业于西安电子科技大学,现任职美团-大众点评iOS研发工程师,具有丰富的iOS软件开发经验,长期关注iOS领域前沿技术,曾参与数本iOS技术类书籍翻译工作。

陈作君  毕业于北京理工大学,现任职滴滴出行iOS研发工程师,多年大型移动端应用开发经验,热衷于开源项目建设,是一名技术书籍翻译的爱好者。

《ios动画:核心技术与案例实战》pdf下载在线阅读全文,求百度网盘云资源

《ios动画:核心技术与案例实战》百度网盘pdf最新全集下载:

链接:

?pwd=tzgh 提取码: tzgh

简介:《iOS动画——核心技术与案例实战》以“iOS核心动画架构+实战代码”的形式阐述如何根据不同的应用场景设计高效、可靠、复杂的动画效果,为读者带来了丰富的实战动画案例,更从动画系统架构的角度阐释动画的原理,因此《iOS动画——核心技术与案例实战》不仅面向读者“授之以鱼”更加“授之以渔”。  

iOS PDFKit 开发指北

2017年夏天,在苹果全球开发者大会(WWDC)上,苹果公司终于推出了针对于 iOS 的 PDFKit 支持。PDFKit 自从 MacOS 10.4 以来一直在 AppKit for MacOS 中。但 UIKit 却迟迟得不到支持,尽管苹果公司之前在 iBooks 和 Mail 中使用过 PDFKit , 但是该框架并未向开发人员开房。

PDFKit 包含了大量关于 PDF 相关的功能,例如,打开,修改,绘图和保存 PDF ,也包含了搜索文本。在 iOS 11 后,苹果终于开放了 PDFKit 。目前(虽然离 PDFKit 发布已经过了一年多),但是目前中文资料和 Demo 确实比较少,下面笔者就带着大家简单的了解一下 PDFKit。

主要核心功能如下:

PDFView

PDFDocument

PDFPage

PDFAnnotation

让我看到你们的双手, put your hands up!

引入 #import PDFKit/PDFKit.h ,创建 PDFView ,创建之前,首先要创建 PDFDocument ,这里通过文件路径 URl 进行创建。

创建 PDFView ,将 PDFDucument 对象赋给 PDFView。

至此,就实现了 PDF 的读取及显示。

首先获取 PDFDocument 的属性 PDFPage :

通过 PDFPage 的对象方法,可以获取 PDF 的缩略图,这里需传入图片的 size:

创建 collectionViewCell ,通过 collectionView 就可以实现一个大致的功能。

点击跳转

获取 cell 的点击事件,取出所点击的 PDFPage 对象,用下述方法进行跳转:

PDFOutline 是一个层级关系的对象,他表示 PDF 的大纲(也就是我们常用的书签)。每个 PDFOutline 对象都可通过 childAtIndex: 方法获取出他的孩子对象, 注意 ,这里需要先判断 numberOfChildren ,以确定该 outline 对象存在多少个孩子节点,避免下标超界引发的崩溃。

实现大纲功能

从 PDFDocument 中获取 PDFOutline

遍历 outline 孩子节点(默认只遍历一层)

当点击节点时,判断有无孩子节点,进行当前数组的新增或删除。

这里搜索功能主要靠下述方法实现

调用此方法之前,首先需将 PDFDocument 设置代理,通过 PDFDocument 的代理进行回调。获取 PDFSelection 对象,

再根据 selection 对象显示搜索内容。

调用下述方法即可对 PDFView 进行缩放,

实现双击缩放或还原:

这里通过设置 pdfView 的 scaleFactor 属性即可实现, 注意 : scaleFactorForSizeToFit 属性是当前 PDF 充满屏幕的比例。

GitHub :

本文原地址:


名称栏目:ios核心开发pdf,资深ios开发
文章链接:http://cqcxhl.com/article/dsdcjpp.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP