IOS读取和显示PDF文档
来源:互联网 发布:java html 转 xhtml 编辑:程序博客网 时间:2024/05/22 17:29
本文方法参考了:官方文档。见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}
可见,编写读取的代码很简单,只需给定三个参数即可。后两个很容易,pageNumber是int型的数字,表示第几页,filename是肯定知道的。问题是如何获取CGContextRef,这个类型对象是用于绘图的上下文对象引用,没有它就没法绘制到屏幕界面上。
查了一下文档,特别是这个帖子:
看来要继承UIView,才能得到当前视图的Context。基本思路是覆盖UIView的drawRect方法,在该方法中:
调用UIGraphicsGetCurrentContext方法,将当前的图形上下文设置给调用PDF的代码。drawRect方法会在iOS系统绘制界面的时候调用。
下面来说说编写代码的步骤,首先创建一个view-based application,然后,通过IB,设置控制器到view的关联。
以下不再用IB了,PDF的UIView是通过程序生成的。
创建PdfView类,是UIView的子类。头文件:
里面带一个成员,pdf,代表pdf文档对象的引用。一个方法,用于根据图形上下文在视图中绘制制定的pdf页面。
m文件:
在这里使用的pdf文档,是放在项目的Resources目录下的。
再往下,就是在Controller中通过程序创建PdfView实例,并将它关联为Controller根视图的子视图:
这里因为是使用iPad,因此长宽是1000(上面留点空间)和768。另外,需要设置底色,默认情况下底色是黑色的,和黑体的文字在一起就显示不出文字了,我设置的是白色:
pdfView.backgroundColor=[UIColor whiteColor];
这样就可以了,而且中文啥的都没问题。
http://stackoverflow.com/questions/2643150/load-pdf-into-layer-offscreen
- IOS读取和显示PDF文档
- iOS读取和显示PDF文档
- iOS读取和显示PDF文档
- iOS读取和显示PDF文档
- iOS开发 pdf文档显示和预览
- java读取pdf和MS Office文档
- iOS 模拟/仿真翻页效果和(AFKPageFlipper)以及对PDF文档的读取
- vb.net 读取和显示PDF
- c#读取pdf文档
- python读取pdf文档
- python 读取 pdf 文档
- flex 显示pdf文档
- flex 显示pdf文档
- iOS PDF的显示和浏览
- iOS pdf的显示和浏览
- ios--PDF的显示和浏览
- java读取word,excel和pdf文档内容
- python读取pdf文档-文件
- CXF ws security 案例
- Eclipse开发经典教程:代码重构
- SQL执行计划分析
- Eclipse开发经典教程:代码重构(二)
- 欧拉函数(转)
- IOS读取和显示PDF文档
- 剔除字符串两端的特殊字符的几种方法
- 解决“Microsoft Office Word 遇到问题需要关闭。”
- RDLC使用手册_RDLC报表部署
- 如何分析执行计划
- gcc参数详解(转)
- 安装VisualDSP++出现Install cannot proceed.Could not find XML file or the XML file may be corrupted!
- Eclipse开发经典教程:代码重构(三)
- Cisco路由器系统的备份和急救