本文只說明自定義uiview的方法。實現的在ipad模擬器上的效果:
的**部分:
void mydisplaypdfpage (cgcontextref mycontext,可見,編寫讀取的**很簡單,只需給定三個引數即可。後兩個很容易,pagenumber是int型的數字,表示第幾頁,filename是肯定知道的。問題是如何獲取cgcontextref,這個型別物件是用於繪圖的上下文物件引用,沒有它就沒法繪製到螢幕介面上。size_t pagenumber,
const char *filename)
查了一下文件,特別是這個帖子:
看來要繼承uiview,才能得到當前檢視的context。基本思路是覆蓋uiview的drawrect方法,在該方法中:
- (void)drawrect:(cgrect)rect呼叫uigraphicsgetcurrentcontext方法,將當前的圖形上下文設定給呼叫pdf的**。drawrect方法會在ios系統繪製介面的時候呼叫。
以下不再用ib了,pdf的uiview是通過程式生成的。
建立pdfview類,是uiview的子類。標頭檔案:
#import裡面帶乙個成員,pdf,代表pdf文件物件的引用。乙個方法,用於根據圖形上下文在檢視中繪製制定的pdf頁面。@inte***ce pdfview : uiview
-(void)drawincontext:(cgcontextref)context;
@end
m檔案:
#import "pdfview.h"在這裡使用的pdf文件,是放在專案的resources目錄下的。@implementation pdfview
- (id)initwithframe:(cgrect)frame
} return self;
}- (void)drawrect:(cgrect)rect
再往下,就是在controller中通過程式建立pdfview例項,並將它關聯為controller根檢視的子檢視:
- (void)viewdidload這裡因為是使用ipad,因此長寬是1000(上面留點空間)和768。另外,需要設定底色,預設情況下底色是黑色的,和黑體的文字在一起就顯示不出文字了,我設定的是白色:
pdfview.backgroundcolor=[uicolor whitecolor];這樣就可以了,而且中文啥的都沒問題。
iOS讀取和顯示PDF文件
本文只說明自定義uiview的方法。實現的在ipad模擬器上的效果 的 部分 void mydisplaypdfpage cgcontextref mycontext,size t pagenumber,const char filename 可見,編寫讀取的 很簡單,只需給定三個引數即可。後兩個很...
iOS讀取和顯示PDF文件
1在ios主要用webview來顯示混合文字 word excel ppt 今天我們就來了解webview顯示pdf的用法 使用pdf讀取pdf的缺點是自定義的能力較弱,優點是簡單就像讀取網頁一樣 新建乙個 pdfview import inte ce pdfview uiview void dra...
讀取PDF文件
coding utf 8 匯入開發包 frompdfminer.pdfparserimportpdfparser,pdfdocument frompdfminer.pdfinterpimportpdfresourcemanager,pdfpageinterpreter frompdfminer.pd...