在iPhone中可以很方便的预览文档文件,如:pdf、word等等,这篇文章将以PDF为例。介绍三种预览PDF的方式,又分别从本地pdf文档和网络上的pdf文档进行对比。

预览本地PDF文档:

1、使用UIWebView控件

UIWebView是iPhone开发中最常用的控件之一,类似.net中的webBrowser控件。使用它预览PDF文件相当的方便和简单。

在UIWebView中预览PDF文档的关键代码如下:

效果:

2、使用CLPreviewController

CLPreviewController是比较新的一个功能,它能快速预览文档,可以一边加载一边预览,也就是说不需要将文档全部加载到内存中。

使用CLPreviewController预览pdf文件,需要实现一个委托:QLPreviewControllerDataSource。关键代码如下:

其中prevoewController返回预览文件的地址。

这种方式不仅快,而且还提供了一个在iphone中打印文档的功能,如下图。

3、绘制pdf文档

apple有个官方的例子是绘制pdf的。这种方式可以很方便的控制pdf的展现细节,但是效率不高。

预览网络上的PDF文档:

1、使用UIWebView去预览网络上的PDF文档,先是将要预览的文档下载iPhone内存中,然后预览,对很大的pdf文档,效率不高,用户体验也不好。

2、对于使用prevoewController,因为它是分步加载的,不会一次性加载所有的pdf文档,用户体验还不错,但是在4.0中多出了一个打印按钮,一点击这个打印按钮,程序就挂了,真是杯具。

3、绘制的方式也是需要一次性加载到内存,绘制效率不高,对于大文档,不应当使用这种方式。

网络大文档预览的解决方案:对于网络上的pdf文档,比如:电子书(一些电子书是比较大的),建议先下载到本地,然后使用第二种方式去预览。

总结:本文介绍了三种预览pdf文档的方式,对于非pdf文档也是类似。由于本人接触iPhone开发不长,写的不对的地方,欢迎大家指正。

本文代码:http://files.cnblogs.com/zhuqil/PDFView.zip

作者:朱祁林
出处:http://zhuqil.cnblogs.com 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

IOS 预览word文档的集中方式的更多相关文章

  1. Asp.Net在线预览Word文档的解决方案与思路

    前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈. 这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档. 首先想到的是用第三方 ...

  2. 微信小程序预览Word文档

    <view data-url="https://xxxcom/attachment/word.docx" data-type="docx" catchta ...

  3. IOS 预览pdf,word文档的集中方式

    在iPhone中可以很方便的预览文档文件,如:pdf.word等等,这篇文章将以PDF为例.介绍三种预览PDF的方式,又分别从本地pdf文档和网络上的pdf文档进行对比. 预览本地PDF文档: 1.使 ...

  4. Java实现web在线预览office文档与pdf文档实例

    https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...

  5. 通过程序预览Office文档

    我承认,标题是夸大了,就是为了吸引注意力.这里只有Word文档和Excel文档的预览代码. Word://此部分来源:http://princed.mblogger.cn/posts/11885.as ...

  6. 在Outlook中查看预览SharePoint文档库的文档

    本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...

  7. 使用pdf.js在移动端预览pdf文档

    pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持. 在线演示地址:http://mozilla.github.com/pdf.js/web/viewe ...

  8. 使用pdf.js实现前端页面预览pdf文档,解决了跨域请求

    pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析 官网地址:http://mozilla.github.io/pdf.js/ 下 ...

  9. 统计 Word 文档字数的方式

    描述 欲统计某文档的字数,有两种方式. "审阅"选项卡--"校对"组--字符统计 点击左下角字数统计 审阅查看字数 此步骤较为复杂,在审阅选项卡中可以查询文档的 ...

随机推荐

  1. session过期后iframe页面如何跳转到parent页面

    session过期后如果在iframe里操作就会返回到login.html,可是这个页面还在iframe里面如果再次登陆就会出现iframe嵌套的现象,我们这样来解决. 在login.html里面加上 ...

  2. C++中四种类型转换以及const_cast是否能改变常量的问题

    we have four specific casting operators:dynamic_cast, reinterpret_cast, static_cast and const_cast. ...

  3. 使用xftp连接VirtualBox中的centos6.5

    首先要在windows上安装xftp软件,这个是傻瓜式操作就不说了 安装完毕之后,在centos上查看是否装了xftpd服务. [root@centos Desktop]# rpm -qa | gre ...

  4. 温故而知新 $ jquery选择器居然隐藏第二个参数,更进一步限制选择的区域

    $ 选择器的第二个参数 $("[name=" + name + "]", layero); layero 其实也是一个dom对象,譬如一个表单,一个table. ...

  5. csrf跨站请求攻击

    浅谈CSRF攻击方式    http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

  6. 禁止apache显示目录索引 apache禁止列目录

    禁止Apache显示目录索引的常见的3种方法. 要实现禁止Apache显示目录索引,只需将Option中的Indexes去掉即可. 禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止 ...

  7. 学习PHP垃圾回收机制了解引用计数器的概念

    php变量存在一个叫"zval"的变量容器中,"zval"变量容器包括含变量的类型和值,还包括额外的两个字节信息,分别是“is_ref”表示变量是否属于引用,“ ...

  8. JSON 文件格式解析

    JSON 文件大致说明 JSON 文件你可以理解为就是一个字典文件. 格式为 { 索引:数据, 索引:{ 索引:数据, 索引:{ 索引:数据, 索引:数据 } } } 自己写一个 my.json { ...

  9. 针对16v554(ttyS0-15)的ttyAT0的login配置

    1 ## /etc/inittab# console::sysinit:/etc/init.d/rcSconsole::respawn:/sbin/getty -L 115200 ttyAT0 vt1 ...

  10. Spider Studio 新版本 (20131201) - BrowserManager / 节点选择器 / JQueryContext.Focus

    2013-12-1版本更新, 包含如下改动: 1. 修复BrowserManager重复初始化的bug; 2. 大幅提高节点选择器性能: 以网页 http://data.sports.sohu.com ...