Java 使用pdf小丑仅从pdf文档中的突出显示获取位置
我使用PDF小丑库中的“Annotation.getBox”方法来获取文本中高光的位置。通过这种方式,还可以检索螺栓或斜体文本的位置。如何避免这种情况?我只想从real highlights中获取Retancle2D。不幸的是,OP未能共享示例PDF。他还仅仅提供了一个非常小的代码片段。因此,下面只能推测 OP在注释中提供的代码片段如下所示:Java 使用pdf小丑仅从pdf文档中的突出显示获取位置,java,annotations,pdfclown,Java,Annotations,Pdfclown,我使用PDF小丑库中的“Annotation.getBox”方法来获取文本中高光的位置。通过这种方式,还可以检索螺栓或斜体文本的位置。如何避免这种情况?我只想从real highlights中获取Retancle2D。不幸的是,OP未能共享示例PDF。他还仅仅提供了一个非常小的代码片段。因此,下面只能推测 OP在注释中提供的代码片段如下所示: PageAnnotations annotations = page.getAnnotations(); for (Annotation annotati
PageAnnotations annotations = page.getAnnotations();
for (Annotation annotation : annotations)
{
highlightArea = annotation.getBox();
}
因此,他将变量highlightArea
设置为给定页面注释的最后一个元素的框
值
highlightArea
可能包含突出显示文本以外的其他内容(OP案例中有时包含粗体或斜体文本)的可能原因:
- 最后的注释可能不完全是高亮注释,而是其他类型的注释
- 假设最终注释是高亮显示注释,则并非其框的所有内容都显示为高亮显示,而是仅显示QuadPoints注释字典条目中的四边形或注释的外观流定义的某些自定义区域
如果您的
注释
是TextMarkup
的实例,则可以使用TextMarkup
方法getmarkupbox
轻松检索四边形
此外,您可以使用
注释方法getAppearance
检索外观流。但是,确定外观流突出显示的区域可能非常重要。请分享一些关键代码,让我们了解您的工作。请链接到一个示例PDF,我们可以用它来重现这个问题。PageAnnotations=page.getAnnotations();对于(Annotation:annotations){highlightArea=Annotation.getBox();}……我在pdf中获取页面的注释并将其置于该位置,但有时也会获取粗体或斜体文本的位置。很抱歉,我无法链接示例pdf,因为它是机密文件。然后尝试查找其他非机密文件,以允许复制此问题。如果你找不到,问题可能出在你的pdf中。谢谢你的回复。抱歉,我无法在其他文件中复制此问题。我想,问题确实出在我的pdf文件上。