Я хотел бы получить все имена файлов вложений/вложенных файлов PDF-документа. Я давно искал, но мой код все еще не работает.Список pdf Вложения с использованием PDFBox (Java)
Что я пробовал:
File input = new File(inputfile); // Input File Path, Given as param from args[]
pd = PDDocument.load(input);
PDDocumentNameDictionary names = new PDDocumentNameDictionary(pd.getDocumentCatalog());
PDEmbeddedFilesNameTreeNode efTree = names.getEmbeddedFiles();
Map<String, COSObjectable> existedNames = efTree.getNames();
System.out.println(existedNames);//Print Embedded-Filenames to console
pd.close();
Я не знаю, если это возможно даже напечатать содержание ПДЧ на консоль. Я кодирую в eclipse, который не дает мне никаких ошибок. Но когда я запускаю файл jar, я получаю всегда: NullPointerException at org.apache.pdfbox.pdmodel.PDDocument.getDocumentCatalog(PDDocument.java:778)
Любые идеи или помощь? Большое спасибо ...
PDDocument.load(), вероятно, терпит неудачу и возвращает нулевое значение – user489041
PDDocument.load() работает. Я знаю, потому что я делаю другие вещи с «pd» до ... Что-то со следующими тремя строками (после загрузки pd = ...) должно быть неправильным:/ – Nicola
В нескольких примерах я увидел «Map existedNames = efTree.getNames(); 'но когда я изменяю это в eclipse, он дает мне ошибку:' Тип несоответствия: Невозможно преобразовать из Map в Map ' –
Nicola