IOS 预览word文档的集中方式
在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文档的集中方式的更多相关文章
- Asp.Net在线预览Word文档的解决方案与思路
前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈. 这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档. 首先想到的是用第三方 ...
- 微信小程序预览Word文档
<view data-url="https://xxxcom/attachment/word.docx" data-type="docx" catchta ...
- IOS 预览pdf,word文档的集中方式
在iPhone中可以很方便的预览文档文件,如:pdf.word等等,这篇文章将以PDF为例.介绍三种预览PDF的方式,又分别从本地pdf文档和网络上的pdf文档进行对比. 预览本地PDF文档: 1.使 ...
- Java实现web在线预览office文档与pdf文档实例
https://yq.aliyun.com/ziliao/1768?spm=5176.8246799.blogcont.24.1PxYoX 摘要: 本文讲的是Java实现web在线预览office文档 ...
- 通过程序预览Office文档
我承认,标题是夸大了,就是为了吸引注意力.这里只有Word文档和Excel文档的预览代码. Word://此部分来源:http://princed.mblogger.cn/posts/11885.as ...
- 在Outlook中查看预览SharePoint文档库的文档
本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...
- 使用pdf.js在移动端预览pdf文档
pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持. 在线演示地址:http://mozilla.github.com/pdf.js/web/viewe ...
- 使用pdf.js实现前端页面预览pdf文档,解决了跨域请求
pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析 官网地址:http://mozilla.github.io/pdf.js/ 下 ...
- 统计 Word 文档字数的方式
描述 欲统计某文档的字数,有两种方式. "审阅"选项卡--"校对"组--字符统计 点击左下角字数统计 审阅查看字数 此步骤较为复杂,在审阅选项卡中可以查询文档的 ...
随机推荐
- Android访问php webservice
如果是PHP做的服务端,而我们要用android去访问,怎么办?当然可以用REST,但也可以用点笨的方法,比如可以让PHP的服务端返回JSON或XML数据,而Android端则可以用APACHE的ht ...
- C#:数学运算(待补充)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyCo ...
- 使用 SSHFS 挂载远程的 Linux 文件系统及目录
1. 安装 sudo apt-get install sshfs 2. 创建 SSHFS 挂载目录 sudo mkdir /mnt/cong 3.使用 SSHFS 挂载远程的文件系统 sudo ssh ...
- mysql create table 语法详解
create table 可以分成三类 一.一般create table 语句: 1 语法 create [temporary] table [if not exists] tbl_name (cre ...
- laravel模型中打印sql语句
模型中有个 ->toSql() 可以打印sql语句
- 2、visual studio 常用设置
1.关闭 “引用” 提示 有时候感觉 “方法” 或者 “类” 上的引用有点乱: 去掉它的步骤: 1)在 “引用”文字上单击鼠标右键: 2)在弹出的“选项” 对话框中,取消 CodeLens: 2.打开 ...
- Nginx设置expires设定页面缓存时间 不缓存或一直使用缓存
配置expires expires起到控制页面缓存的作用,合理的配置expires可以减少很多服务器的请求 要配置expires,可以在http段中或者server段中或者location段中加入 l ...
- 插入节点insertBefore()
http://www.imooc.com/code/1699 插入节点insertBefore() insertBefore() 方法可在已有的子节点前插入一个新的子节点. 语法: insertBef ...
- 用广搜实现的spfa
用广搜实现的spfa,如果是用一般的最短路,会发现构图很麻烦,因为它不是路径带权值,而是自身带权值.写起来只要注意,在点出队列的生活将其标记为0,在要压入队列的时候,判断其标记是否为0,为0表示队列中 ...
- 使用JavaScript获取select元素选中的value和text
示例代码如下(js直接写在了html里面,没有写在一个单独的外部文件中): <!DOCTYPE html> <html> <head> <meta name= ...