我试图将一个pdf文档转换成文本,但是我得到一个空指针,exception..Do不明白为什么会出现错误。导入语句中显示了错误。我附上下面的代码:
public class PDFTextParser {
private static Object f;
public static void main(String args[]) {
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
File file = new File("D:\\1.pdf");
try {
f = null;
PDFParser parser = new PDFParser((RandomAccessRead) f);
FileInputStream f= 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);
} catch (IOException e) {
e.printStackTrace();
}
}
}
This is the error im getting:
Exception in thread "main" java.lang.NullPointerException
at org.apache.pdfbox.pdfparser.PDFParser.<init>(PDFParser.java:138)
at org.apache.pdfbox.pdfparser.PDFParser.<init>(PDFParser.java:102)
at org.apache.pdfbox.pdfparser.PDFParser.<init>(PDFParser.java:61)
at PDFTextParser.main(PDFTextParser.java:33)发布于 2016-04-06 12:04:48
是的,您正在传递空对象:
f = null;
PDFParser parser = new PDFParser((RandomAccessRead) f);顺便说一句,作为一种奖励,这里有一些当前的(也是更短的)代码来用PDFBox打开一个PDF文件,我省略了异常处理:
File file = new File("D:\\1.pdf");
PDDocument pdDoc = PDDocument.load(file);
pdfStripper = new PDFTextStripper();
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(5);
String parsedText = pdfStripper.getText(pdDoc);
System.out.println(parsedText);https://stackoverflow.com/questions/36450448
复制相似问题