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 在图像上方/文本下方突出显示的主要内容,如果未能解决你的问题,请参考以下文章

Rmarkdown 文本突出显示未显示在 PDF 输出中

如何使用 PDFKit 突出显示 pdf 中的选定文本?

iOS 无法选择/突出显示 PDF 中的文本

css 移动导航文本下方的导航突出显示栏。

突出显示 PDF 上的文本

使用 iTextSharp 突出显示文本减少对 PDF 文件大小的影响