【发布时间】:2016-04-15 18:57:29
【问题描述】:
我有一个 PDF 文件,想从中提取文本。我正在使用 PDFTextStream。我从它的文档中得到了这段代码,但它给出了错误。
import com.snowtide.PDF;
import com.snowtide.pdf.Document;
import com.snowtide.pdf.OutputTarget;
public class ExtractText {
public static void main (String[] args) throws java.io.IOException {
// String pdfFilePath = args[0];
Document pdf = PDF.open("data/bill.pdf");
StringBuilder text = new StringBuilder(1024);
pdf.pipe(new OutputTarget(text));
pdf.close();
System.out.println(text);
}
}
这是错误:
Exception in thread "main" java.lang.NullPointerException
at com.snowtide.pdf.e.b(SourceFile:2740)
at com.snowtide.pdf.e.a(SourceFile:2691)
at com.snowtide.pdf.e.c(SourceFile:2642)
at com.snowtide.pdf.e.a(SourceFile:2059)
at com.snowtide.pdf.e.c(SourceFile:2108)
at com.snowtide.pdf.e.a(SourceFile:1950)
at com.snowtide.pdf.e.a(SourceFile:1755)
at com.snowtide.pdf.e.a(SourceFile:1820)
at com.snowtide.pdf.e.pipe(SourceFile:468)
at ExtractText.main(ExtractText.java:12)
我使用的是 PDFTextStream 3.3.1 版。 第 12 行是这样的:
pdf.pipe(new OutputTarget(text));
【问题讨论】:
-
pdf为空。很可能传递给PDF.open()的路径不正确。 -
请发布其他一些错误行,至少是接下来的 5 行
-
@Dazak 这就是全部,没有其他错误。
-
对不起,但我试图重现错误,但这是不可能的......我创建了一个 java 项目,将相同版本的 PDFTextStream 放在它上面并复制你的代码,它工作得很好......即使pdf文件上没有文字...
-
好吧,我必须把pdf的整个路径..否则找不到它(在那种情况下java给我一个java.io.FileNotFoundException)
标签: java pdf pdftextstream snowtide