Я пытаюсь заполнить форму PDF с помощью JAVA, но когда я попытался получить поля, используя приведенный ниже код, список пуст.Невозможно прочитать PDF-файл с использованием PDFBOX
PDDocument pdDoc = PDDocument.load(filename);
PDAcroForm pdform = pdDoc.getDocumentCatalog().getAcroForm();
List<PDField> field = pdform.getFields();
Затем я попытался прочитать файл, используя PDFStripper
PDFTextStripper stripper = new PDFTextStripper();
System.out.println(stripper.getText(pdDoc));
и Ouput следующим образом
«Пожалуйста, подождите ...
Если это сообщение не в конечном итоге заменить по правильному содержимому документа, ваш PDF-файл может не отображать этот тип документа.
Вы можете перейти на последнюю версию Adobe Reader для Windows®, Mac или Linux® на , посетив http://www.adobe.com/go/reader_download.
Для получения дополнительной информации об Adobe Reader посетите http://www.adobe.com/go/acrreader.
Windows является зарегистрированным товарным знаком или товарным знаком корпорации Microsoft в США и/или других странах. Mac является товарным знаком Apple Inc., зарегистрированным в США и других странах. Linux является зарегистрированным товарным знаком Linus Torvalds в США и других странах . »
Но я могу открыть файл вручную и заполнить поля. Я также пробовал использовать другие инструменты, такие как iText. Я не был в состоянии получить поля. Как я могу решить эту проблему?
Как вы можете проверить, так ли это или нет? – kutschkem
Используйте следующий оператор if: 'if (pdform.getFields(). IsEmpty) {// Случай XFA} else {// Случай AcroForm}' – Paul