2012-08-10 116 views
0

我想突出顯示pdf中的文本,並在文本下繪製突出顯示的矩形。PDF突出顯示上方圖像/下方文本

它可以在大多數PDF上正常工作,但當我試圖突出顯示的文本中有一個圖像/背景時,我跳入了一個問題。問題在於突出顯示的矩形也在圖像下繪製,因此它不可見。

描繪順序我是這樣的:

  • 畫出一個空白矩形與頁大小
  • 繪製高亮
  • 繪製使用CGContextDrawPDFPage(上下文,頁)的PDF;

有沒有辦法分別繪製PDF圖像和文本?這樣我就可以去

  • 空白矩形
  • PDF圖像/背景
  • 亮點
  • PDF文本

我必須做一些事來的PDF /上下文,以便它吸引它會自動按照我想要的方式?我已經嘗試了與上下文混雜,但沒有任何工作到目前爲止,它的所有繪製完全根據或完全高於完整的pdf

我見過的每個讀者都這樣做(PDFExpert,GoodReader,iAnnotate僅舉幾例),所以這不可能,我只是還沒有找到解決方案:) 任何幫助將提供幫助,提前致謝!

乾杯

回答

1

我的理解是,這些其他應用程序在讀取和渲染PDF自己(他們選擇支持文本,或添加註釋,例如),這樣他們就能夠更容易地層中的東西你提到的方式。

你開始的CGPDFDocument是一個不透明的對象(在OO意義上,不是透明的),它可以繪製自己,但我不知道有任何方式來分解和呈現文檔的各個子層。作爲前進的方向,您可以考慮使用核心圖像(iOS5 +)或其他方法將高亮層與PDF混合。如果您使用了正確的過濾器(也許是Multiply),那麼較暗的文字仍然會出現,並且.3 alpha高光會與任何背景混合。

+0

在我的代碼上有一些不太小的調整(頁面和註釋不在同一圖層中呈現,所以沒有混合那裏:)我得到這個與kCGBlendModeMultiply一起工作。你是先生,是個天才。非常感謝!!!! – Ismael 2012-08-13 15:07:57