PDFBox: как получить PDRectangle из TextPosition

У меня есть требование заменить определенные фразы в существующих PDF-файлах гиперссылками. Например, «Одним из преимуществ использования языка Java является доступность рабочей силы» следует преобразовать в «Одно из преимуществ использования язык Java — это доступность рабочей силы."

Для этого я создал класс Processor, расширяющий PDFTextStripper. Переопределив processTextPosition, я смог получить TextPosition всех персонажей. Но я не знаю, как получить PDRectangle из TextPosition, что поможет мне создать PDAnnotationLink. Я пробовал комбинации свойств x, y, но мне не хватает местоположения. Нужна помощь. Спасибо.

Санджай


person Sanjay    schedule 17.07.2012    source источник


Ответы (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 */);
person Sanjay    schedule 18.07.2012