我想使用Apache PDFBox從給定的PDF文件中提取文本。如何使用Apache PDFBox從PDF文件中提取文本
我寫了這個代碼:
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File(filepath);
PDFParser parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(5);
String parsedText = pdfStripper.getText(pdDoc);
System.out.println(parsedText);
但是,我得到了以下錯誤:
Exception in thread "main" java.lang.NullPointerException
at org.apache.fontbox.afm.AFMParser.main(AFMParser.java:304)
我加PDFBOX-1.8.5.jar和fontbox-1.8.5.jar到班級路徑。
編輯
我加System.out.println("program starts");
到程序的開始。
我跑了它,然後我得到了上面提到的相同的錯誤,program starts
沒有出現在控制檯中。
因此,我認爲我有類路徑或類似的問題。
謝謝。
也許您的PDF文本內容的PDF文件中提取數據文件不完全有效,並使PDFBox絆倒。您可能想要提供PDF進行檢查。 – mkl
你確定你開始了正確的'main()'方法嗎?異常看起來像啓動'org.apache.fontbox.afm.AFMParser'的'main()',看起來像PDFBox代碼,而不是你的代碼。 – mkl
你說得對。我重置了運行配置,現在程序正常運行。非常感謝,mkl。 – Benben