Найти абсолютное положение и размер поля по acrokey

Имеется ли условный знак, возможно ли найти абсолютную позицию и размерность этого конкретного поля (getLeft, getTop, getWidth, getHeight)?

И возможна ли наоборот - если я знаю позицию, могу ли я получить акрокейку на поле?

1 ответ

Первая часть вашего вопроса:

Предположим, что у вас есть AcroFields пример (form) либо получены из PdfReader (только чтение) или PdfStamper экземпляр, тогда вы можете получить позицию поля первого виджета, который соответствует определенному полю name как это:

Rectangle rectangle = form.getFieldPositions(name).get(0).position;

Обратите внимание, что одно поле может соответствовать нескольким виджетам. Например, чтобы получить второй виджет, вам нужно:

Rectangle rectangle = form.getFieldPositions(name).get(1).position;

Конечно, вы, вероятно, также хотите знать номер страницы:

int page = form.getFieldPositions(name).get(0).page;

Вторая часть вашего вопроса

Поля соответствуют аннотациям виджетов. Если вы знаете номер страницы аннотации виджета, вы можете получить словарь страницы и проверить записи /Annots массив. Вам придется циклически проходить различные аннотации, проверяя каждую аннотацию. /Rect запись. Как только вы найдете совпадение, вам нужно просканировать содержимое поля, соответствующего аннотации. Это больше работы, чем можно представить в примере кода на этом сайте.

Другие вопросы по тегам