PDFBox: Как да получите PDRectangle от TextPosition

Имам изискване да заменя определени фрази в съществуващи PDF файлове с хипервръзки. Например „Едно предимство от използването на езика Java е наличието на човешка сила“ трябва да бъде обработено на „Едно предимство от използването на език Java е наличието на човешка сила."

За целта създадох клас процесор, разширяващ 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