我正在尝试用两列突出显示 PDF 中的文本,但问题是提取器会明智地提取文本行。所以查询的文本没有得到匹配。我在想是否有一些功能pdfclown
可以帮助我提取页面的前半部分,即第一列,然后可能通过选择区域来提取第二列。
谢谢。
当您谈论使用 PDF Clown 进行文本提取时,我假设您正在使用该TextExtractor
库的类。
此类提供了许多有助于限制解析区域的属性:
public void setAreas(List<Rectangle2D> value);
public void setAreaTolerance(double value);
public void setAreaMode(AreaModeEnum value);
setAreas
允许您设置要从中提取文本的页面区域,setAreaTolerance
允许您为这些区域添加一些容差(本质上是在各个方向上按此值放大区域),并setAreaMode
用于控制该区域是否必须包含字符串( Containment
)或只需要与要包含在扫描结果中的区域( ) 相交。Intersection
这些属性是如何工作的,可以在TextExtractor
方法中见证
public Map<Rectangle2D,List<ITextString>> filter(
List<? extends ITextString> textStrings,
Rectangle2D... areas
);
它过滤页面上所有文本字符串的列表。