2012-08-03 69 views
2

我是iPhone新手我使用CGPDFDocument打開了一個pdf文件。我想要在文檔中的特定行中長按時做出突出顯示。 任何示例代碼來做到這一點?CGPDFDocument中的突出顯示

在此先感謝。

回答

3

您需要推出自己的解決方案。蘋果在iOS中將文本選擇添加爲私有API,但他們沒有暴露任何東西。您可以簡單地使用UIWebView來獲取該功能,或者,如果您需要更多控制或者還想要突出顯示等功能,則需要編寫自己的解決方案。

對於一般的PDF閱讀器,這裏有相當多的開源代碼。 (以vfr/Reader爲例)

要獲得文本選擇/註釋,這是一個完全不同程度的痛苦。我全職從事這些功能的全年工作,並剛剛發佈了我的商業框架PSPDFKit的v2。

有兩個問題需要您自己解決;首先得到字形反向並從單個字形中找出單詞。我使用CoreGraphics作爲解析器 - 計算正確的幀並管理當前的繪圖堆棧和不同的字體樣式是困難的部分。這裏有一些開源代碼(PDFKitten),但我終於推出了自己的代碼,因爲那個代碼真的不是很好,並且在使用各種PDF字體格式時遇到了很多問題。

二,編寫實際的註解對象。在這裏,您需要自己解析PDF以製作所有對象的樹,然後編寫一個替換/ Pages對象的新預告片(PDF大多數只是文本,因此它很好解析;但仍然很難正確)。我不知道有哪些開源代碼可以幫助你。我花了很長時間與official PDF reference長夜。