PDF突出显示上方图像/下方文字

时间:2012-08-10 21:13:38

标签: objective-c pdf annotations core-graphics highlight

我正在尝试在pdf中突出显示文本,并在文本下方绘制突出显示的矩形。

它在大多数PDF上工作正常,但是当我试图突出显示的文本下面有图像/背景时,我遇到了问题。问题是高亮矩形也在图像下绘制,因此它不可见。

我的绘图顺序是:

  • 使用页面大小
  • 绘制一个空白矩形
  • 画高光
  • 使用CGContextDrawPDFPage(context,page);
  • 绘制pdf

有没有办法分别绘制PDF图像和文字?所以我可以去

  • 空白矩形
  • pdf images / background
  • 高亮
  • pdf text

我是否必须对pdf / context执行某些操作,以便按照我希望的方式自动绘制它?我已经尝试搞乱上下文,但到目前为止没有任何工作,它全部完全低于或完全高于完整的pdf

我见过的每个读者都这样做(PDFExpert,GoodReader,iAnnotate等等),所以这不可能,我还没有找到解决方案:) 任何帮助都会有所帮助,在此先感谢!!

干杯

1 个答案:

答案 0 :(得分:1)

我的理解是这些其他应用程序本身正在阅读和呈现PDF(例如,它们支持选择文本或添加注释),因此他们可以更容易地按照您提及的方式对事物进行分层。

你开始使用的CGPDFDocument是一个不透明的对象(在OO意义上,不是透明度)可以绘制自己,但我不知道有什么方法可以突破并渲染文档的各个子层。

作为前进的方法,您可以使用Core Image(iOS5 +)或其他方法将高光层与PDF混合。如果你使用了正确的滤镜(也许是乘法),那么较暗的文字仍然可以通过,而.3 alpha高光将与任何背景混合。