我要求用超链接替换现有PDF中的某些短语。例如,“使用Java语言的一个优点是人力的可用性”应该被处理为“使用the Java language的一个好处是人力的可用性。”
为此,我创建了一个扩展PDFTextStripper的Processor类。通过覆盖processTextPosition
,我能够获得所有角色的TextPosition。但我无法知道如何从TextPosition获取PDRectangle,这将有助于我构建PDAnnotationLink。我尝试了x,y属性的组合,但我错过了位置。需要一些帮助。谢谢。
Sanjay
答案 0 :(得分:1)
我这样做了:
rectangle.setLowerLeftX(position.getTextPos().getXPosition());
rectangle.setLowerLeftY(position.getTextPos().getYPosition() - 2); // 2 as cushion
rectangle.setUpperRightX(rectangle.getLowerLeftX() + position.getWidthDirAdj());
rectangle.setUpperRightY(rectangle.getLowerLeftY() + 12 /*
ideally it should be position.getHeightDir()?
but my sample PDF yielded a negative figure for this */);