真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios核心開發(fā)pdf,資深ios開發(fā)

ios開發(fā)里面有沒有讀取pdf文件的代碼

在iOS創(chuàng)建PDF文件中簡單介紹了如何生成pdf文件?,F(xiàn)在有需求要顯示PDF文檔??戳艘幌翧pple的API,大概有兩種方法:

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),銅鼓企業(yè)網(wǎng)站建設(shè),銅鼓品牌網(wǎng)站建設(shè),網(wǎng)站定制,銅鼓網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,銅鼓網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

使用WebView,可以直接讀取PDF,這個比較簡單,可參見:最簡單的WebView應(yīng)用,缺點是自定義的能力較弱,優(yōu)點是簡單,像讀取網(wǎng)頁一樣;

使用自定義的UIView,需要繼承UIView,自定義效果很好,問題是需要了解和使用的API較多。

本文只說明自定義UIView的方法。實現(xiàn)的在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開發(fā)生成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;

}

}

}

//顯示的時候調(diào)用這個

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文件預(yù)覽的幾種方法

前段時間公司項目加了許多關(guān)于PDF文件操作的需求,其中包括 PDF文檔的預(yù)覽 、 PDF文件格式轉(zhuǎn)換 、 從其他App獲取文件 、 PDF文檔的批注與修改 。這篇文章我會先記錄下PDF文檔的幾種預(yù)覽方式。

先看效果:

蘋果的webView組件可以預(yù)覽各種格式的文件,支持在線預(yù)覽和本地預(yù)覽,相比于安卓的webView控件簡直就是一大神器,UIWebview使用起來也非常簡單

QLPreviewController 是系統(tǒng)自帶的文件預(yù)覽控制器,QL全稱 quick look 快速查看的意思,要使用QLPreviewController先得在文件中導(dǎo)入頭文件 #import QuickLook/QuickLook.h ,并且實現(xiàn)其代理方法 QLPreviewControllerDelegate

使用UIDocumentInteractionController預(yù)覽文件也得遵循 UIDocumentInteractionControllerDelegate 代理方法,UIDocumentInteractionController本身并不是一個控制器類,它直接繼承 NSObject ,所以就不能直接push或者模態(tài)跳轉(zhuǎn)了,所以需要使用它類方法提供的模態(tài)跳轉(zhuǎn)函數(shù)

利用 CGContexDrawPDFPage 和 UIPageViewController 實現(xiàn)翻頁瀏覽功能,這種方法只能加載本地的PDF文件,但是顯示效果比其他幾種炫酷很多。具體使用方法參考 iOS開發(fā)筆記——PDF的顯示和瀏覽 這篇博客。也可以參考本文的 Demo

關(guān)于PDF文檔的預(yù)覽其實不止上文介紹的幾種方法,還可以通過第三方SDK來加載并對PDF文檔進(jìn)行批注與修改,等有時間我會放在后面一起介紹。

《高性能iOS應(yīng)用開發(fā)》pdf下載在線閱讀,求百度網(wǎng)盤云資源

《高性能iOS應(yīng)用開發(fā)》([美] Gaurav Vaish)電子書網(wǎng)盤下載免費在線閱讀

資源鏈接:

鏈接:

提取碼:iuk2?? ?

書名:高性能iOS應(yīng)用開發(fā)

作者:[美] Gaurav Vaish

譯者:梁士興

豆瓣評分:7.8

出版社:人民郵電出版社

出版年份:2017-4

頁數(shù):384

內(nèi)容簡介:性能對用戶體驗有著至關(guān)重要的影響。本書將介紹對用戶體驗產(chǎn)生負(fù)面影響的各個方面,并概述如何優(yōu)化iOS應(yīng)用的性能。全書共5個部分,主要從性能的衡量標(biāo)準(zhǔn)、對應(yīng)用至關(guān)重要的核心優(yōu)化點、iOS應(yīng)用開發(fā)特有的性能優(yōu)化技術(shù)以及性能的非代碼方面,講解了應(yīng)用性能的優(yōu)化問題。本書的主要目的是展示如何從工程學(xué)的角度編寫最優(yōu)代碼。本書適合已經(jīng)具有Objective-C和iOS實踐經(jīng)驗的開發(fā)人員閱讀。

作者簡介:作者簡介:

Gaurav Vaish? 就職于雅虎公司的移動和新興產(chǎn)品團(tuán)隊,為每月有數(shù)億人使用的移動應(yīng)用創(chuàng)建優(yōu)雅的可重用方案。他曾是IIT全球指導(dǎo)計劃的成員,還在印度班加羅爾創(chuàng)立了InColeg Learning及Edujini Labs有限公司。

譯者簡介:

梁士興? 畢業(yè)于北京航空航天大學(xué),現(xiàn)任職美團(tuán)-大眾點評iOS高級技術(shù)專家。有多年的一線iOS開發(fā)經(jīng)驗,對于iOS應(yīng)用性能有深入研究和獨到見解。對iOS前沿技術(shù)、移動應(yīng)用架構(gòu)模式非常感興趣。

郝田田? 畢業(yè)于西安電子科技大學(xué),現(xiàn)任職美團(tuán)-大眾點評iOS研發(fā)工程師,具有豐富的iOS軟件開發(fā)經(jīng)驗,長期關(guān)注iOS領(lǐng)域前沿技術(shù),曾參與數(shù)本iOS技術(shù)類書籍翻譯工作。

陳作君? 畢業(yè)于北京理工大學(xué),現(xiàn)任職滴滴出行iOS研發(fā)工程師,多年大型移動端應(yīng)用開發(fā)經(jīng)驗,熱衷于開源項目建設(shè),是一名技術(shù)書籍翻譯的愛好者。

《ios動畫:核心技術(shù)與案例實戰(zhàn)》pdf下載在線閱讀全文,求百度網(wǎng)盤云資源

《ios動畫:核心技術(shù)與案例實戰(zhàn)》百度網(wǎng)盤pdf最新全集下載:

鏈接:

?pwd=tzgh 提取碼: tzgh

簡介:《iOS動畫——核心技術(shù)與案例實戰(zhàn)》以“iOS核心動畫架構(gòu)+實戰(zhàn)代碼”的形式闡述如何根據(jù)不同的應(yīng)用場景設(shè)計高效、可靠、復(fù)雜的動畫效果,為讀者帶來了豐富的實戰(zhàn)動畫案例,更從動畫系統(tǒng)架構(gòu)的角度闡釋動畫的原理,因此《iOS動畫——核心技術(shù)與案例實戰(zhàn)》不僅面向讀者“授之以魚”更加“授之以漁”。 ?

iOS PDFKit 開發(fā)指北

2017年夏天,在蘋果全球開發(fā)者大會(WWDC)上,蘋果公司終于推出了針對于 iOS 的 PDFKit 支持。PDFKit 自從 MacOS 10.4 以來一直在 AppKit for MacOS 中。但 UIKit 卻遲遲得不到支持,盡管蘋果公司之前在 iBooks 和 Mail 中使用過 PDFKit , 但是該框架并未向開發(fā)人員開房。

PDFKit 包含了大量關(guān)于 PDF 相關(guān)的功能,例如,打開,修改,繪圖和保存 PDF ,也包含了搜索文本。在 iOS 11 后,蘋果終于開放了 PDFKit 。目前(雖然離 PDFKit 發(fā)布已經(jīng)過了一年多),但是目前中文資料和 Demo 確實比較少,下面筆者就帶著大家簡單的了解一下 PDFKit。

主要核心功能如下:

PDFView

PDFDocument

PDFPage

PDFAnnotation

讓我看到你們的雙手, put your hands up!

引入 #import PDFKit/PDFKit.h ,創(chuàng)建 PDFView ,創(chuàng)建之前,首先要創(chuàng)建 PDFDocument ,這里通過文件路徑 URl 進(jìn)行創(chuàng)建。

創(chuàng)建 PDFView ,將 PDFDucument 對象賦給 PDFView。

至此,就實現(xiàn)了 PDF 的讀取及顯示。

首先獲取 PDFDocument 的屬性 PDFPage :

通過 PDFPage 的對象方法,可以獲取 PDF 的縮略圖,這里需傳入圖片的 size:

創(chuàng)建 collectionViewCell ,通過 collectionView 就可以實現(xiàn)一個大致的功能。

點擊跳轉(zhuǎn)

獲取 cell 的點擊事件,取出所點擊的 PDFPage 對象,用下述方法進(jìn)行跳轉(zhuǎn):

PDFOutline 是一個層級關(guān)系的對象,他表示 PDF 的大綱(也就是我們常用的書簽)。每個 PDFOutline 對象都可通過 childAtIndex: 方法獲取出他的孩子對象, 注意 ,這里需要先判斷 numberOfChildren ,以確定該 outline 對象存在多少個孩子節(jié)點,避免下標(biāo)超界引發(fā)的崩潰。

實現(xiàn)大綱功能

從 PDFDocument 中獲取 PDFOutline

遍歷 outline 孩子節(jié)點(默認(rèn)只遍歷一層)

當(dāng)點擊節(jié)點時,判斷有無孩子節(jié)點,進(jìn)行當(dāng)前數(shù)組的新增或刪除。

這里搜索功能主要靠下述方法實現(xiàn)

調(diào)用此方法之前,首先需將 PDFDocument 設(shè)置代理,通過 PDFDocument 的代理進(jìn)行回調(diào)。獲取 PDFSelection 對象,

再根據(jù) selection 對象顯示搜索內(nèi)容。

調(diào)用下述方法即可對 PDFView 進(jìn)行縮放,

實現(xiàn)雙擊縮放或還原:

這里通過設(shè)置 pdfView 的 scaleFactor 屬性即可實現(xiàn), 注意 : scaleFactorForSizeToFit 屬性是當(dāng)前 PDF 充滿屏幕的比例。

GitHub :

本文原地址:


文章標(biāo)題:ios核心開發(fā)pdf,資深ios開發(fā)
地址分享:http://weahome.cn/article/dsdcjpp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部