Получить координаты и написать на них - PullRequest
0 голосов
/ 13 февраля 2020

Я извлекаю (X & Y) координаты с помощью кода ниже

TextPosition.getXDirAdj () и TextPosition.getYDirAdj ()

вывод: -

    for Char "1" X= 79.0 and Y= 31.0 

однако правильные координаты: X = 79 и Y = 760

Почему так, как я могу это решить.

1 Ответ

0 голосов
/ 13 февраля 2020

TextPosition.getXDirAdj() и TextPosition.getYDirAdj() не возвращают координаты в системе координат пользовательского пространства по умолчанию, но вместо этого в системе координат, которую внутренняя разметка текста PDFBox использует для более удобного определения строк текста.

Для извлечения координат в система координат пользовательского пространства по умолчанию, используйте свойства TranslateX и TranslateY текстовой матрицы и добавьте координаты левого нижнего угла поля обрезки текущей страницы.

Например, для TextPosition textposition и a PDRectangle cropBox:

float x = textposition.getTextMatrix().getTranslateX() + cropBox.getLowerLeftX();
float y = textposition.getTextMatrix().getTranslateY() + cropBox.getLowerLeftY();

Часто нижний левый угол рамки обрезки равен (0, 0), поэтому коррекция с использованием рамки обрезки часто не требуется. Однако для примера, для которого необходимо это исправление, см. этот ответ .

...