2012-05-03 47 views
7

我已經在Google,stackoverflow和Apple的開發者庫中搜索了PDF註釋,但沒有一個能夠真正滿足我的需求。這是我的問題和我目前的知識,如果我錯了,請糾正我。如何選擇PDF中的文本行然後突出顯示它們? (iOS)

我想讓用戶先選擇一些文本行來突出顯示,然後在他們上面繪製突出顯示的矩形。

[問題]:我們如何選擇由CGContextDrawPDFPage()呈現的PDF頁面上的文本? 具體來說,如果我要覆蓋touchesBegan/Moved/Ended委託方法,那麼我應該怎麼做才能跟蹤用戶想要選擇的文本框架?

我不想使用FastPDFKit,因爲它顯示標誌並花費金錢或UIWebView,因爲它在我們可以用它做的事情方面非常有限,另外我想了解如何做到這一點我自己:-)

謝謝! 德里克

- 更新 -

潛在的解決方案:我可能把一個透明的視圖我PDF的頂部,並在解析PDF內容,建立每TJ或每串元素的矩形在TJ。那些矩形將是用戶可以突出顯示的可選「文本」。有一點需要注意的是,有些PDF會將多個單詞粘貼到一個Tj中,這樣可以防止用戶在這種情況下選擇單個單詞。我會嘗試這種方法並稍後更新結果。

+0

您是否找到任何解決方案,請讓我知道,因爲我也需要做同樣的事情。 –

回答

5

您的潛在解決方案是要走的路。 Tj字符串的邊界矩形的大小是字符串中每個字形的邊界矩形的總和,因此您可以選擇字符串中的任何內容。 PDFKitten庫可能會幫助您處理文本:https://github.com/KurtCode/PDFKitten

+1

感謝iPDFdev。很高興知道我在正確的軌道上。我會盡快接受你的回答;-) –

+2

@DerekSun你是否解決了這個問題?如果是這樣,你是如何使用PDFKitten代碼的? – laucel

相關問題