У меня есть существующий PDF-файл, который я хочу открыть и добавить контент на страницу, где включен конкретный PDField
(или конкретно PDTerminalField
, не то чтобы я думаю, что это имеет значение). Он может быть на первой или любой более поздней странице.
Я знаю имя поля, и с его помощью я могу найти его и даже получить размеры и положение на этой странице (DRectangle mediabox = new PDRectangle((COSArray) fieldDict.getDictionaryObject(COSName.RECT));
)
Однако я не могу найти способ узнать номер / индекс страницы, на которой он находится, поэтому могу писать на правильной странице.
PDAcroForm acroForm = pdfDocument.getDocumentCatalog().getAcroForm();
PDField docField = acroForm.getField("the_coolest_field");
int page = docField.??? // This is the missing part.
PDPageContentStream contentStream = new PDPageContentStream(pdfDocument,
pdfDocument.getPage(page), PDPageContentStream.AppendMode.APPEND, true);
// now write something on the page where the field is in.