PDF 在图像上方/文本下方突出显示
Posted
技术标签:
【中文标题】PDF 在图像上方/文本下方突出显示【英文标题】:PDF Highlighting above image / below text 【发布时间】:2012-08-10 21:13:38 【问题描述】:我正在尝试突出显示 pdf 中的文本,并在文本下方绘制突出显示的矩形。
它在大多数 PDF 上都可以正常工作,但是当我试图突出显示的文本下面有图像/背景时,我遇到了问题。问题是高亮矩形也被绘制在图像下方,所以它是不可见的。
我的绘图顺序是这样的:
用页面大小绘制一个空白矩形 画出高光 使用CGContextDrawPDFPage(context, page)绘制pdf;有没有办法分别绘制PDF图像和文本?这样我就可以走了
空白矩形 pdf 图片/背景 高亮 pdf 文本我是否必须对 pdf / 上下文做一些事情,以便它按照我想要的方式自动绘制它?我试过弄乱上下文,但到目前为止没有任何效果,它完全绘制在完整的 pdf 之下或之上
我见过的每个读者都这样做(PDFExpert、GoodReader、iAnnotate 等等),所以这不是不可能的,我只是还没有找到解决方案 :) 任何帮助都会有所帮助,在此先感谢!
干杯
【问题讨论】:
【参考方案1】:我的理解是,这些其他应用程序本身正在读取和呈现 PDF(例如,它们支持选择文本或添加注释),因此它们将能够更轻松地以您提到的方式分层。
您开始使用的 CGPDFDocument 是一个不透明的对象(在 OO 意义上,不是透明度),可以自行绘制,但我不知道有什么方法可以分解和呈现文档的各个子层。
作为一种方法,您可以考虑使用 Core Image (ios5+) 或其他方法将高光层与 PDF 混合。如果您使用了正确的过滤器(可能是正片叠底),较暗的文本仍然会通过,并且 0.3 alpha 突出显示会与任何背景混合。
【讨论】:
对我的代码进行了一些不那么小的调整(页面和注释没有在同一层呈现,所以没有混合 D:) 我得到了这个与 kCGBlendModeMultiply 一起工作。先生,您真是个天才。非常感谢!!!!以上是关于PDF 在图像上方/文本下方突出显示的主要内容,如果未能解决你的问题,请参考以下文章