如何使用Apache PDFBox从PDF文件提取文本

Benben :

我想使用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未出现在控制台中。

因此,我认为我对类路径或其他东西有疑问。

谢谢。

埃玛德:

我执行了您的代码,它工作正常。也许您的问题与FilePath您已提交的文件有关。我将pdf放入C盘,并对文件路径进行了硬编码。这是我的代码:

// PDFBox 2.0.8 require org.apache.pdfbox.io.RandomAccessRead
// import org.apache.pdfbox.io.RandomAccessFile;

public class PDFReader{
    public static void main(String args[]) throws IOException {
        PDFTextStripper pdfStripper = null;
        PDDocument pdDoc = null;
        File file = new File("C:/my.pdf");
        PDFParser parser = new PDFParser(new FileInputStream(file));
        parser.parse();
        try (COSDocument 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);
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

问题合并线,而使用PDFBox的2.x中提取PDF文本

如何使用Apache PDFBOX打印HTML文本的PDF

你如何使用PDFBOX(或其他开源Java LIB)提取PDF文件的颜色配置文件

使用javascript从pdf文件中提取文本

使用python中的PDFMiner从PDF文件中提取文本?

如何从PDF文件提取文本和文本坐标?

如何使用PDFBox从HTML创建PDF文件?

如何使用Java(不使用pdfbox)从pdf提取图像

从具有不同高度的表格行中从pdf提取文本(使用pdfbox库的Java)

使用Apache PDFBox从PDF获取文本

Java:Apache PDFbox提取突出显示的文本

iText:使用LocationTextExtractionStrategy从pdf文件中提取的文本顺序错误

使用Algolia搜索(提取文本)PDF文件

如何从pdf文件中提取特定文本-Python

在Java中使用Apache Tika从pdf文件中提取文本

如何使用Apache PdfBox在PDF文件中获取书签页码?

如何从PDF提取文本?

使用Python与PyPDF2从PDF文件提取文本

Apache PDFBox打开临时创建的PDF文件

如何使用Azure Functions提取PDF文件的文本?

如何使用Apache PDFBox拆分PDF?

使用pdfbox从pdf提取文本时得到了错误的字符编码

使用PDFbox从区域中提取文本

使用 pdfbox 创建阿拉伯文本 pdf 文件

Apache PDFBox 2.0 - 创建的 PDF 文件中未显示文本

如何使用 Apache PDFBox 从按钮中提取标签文本?

使用 Apache PDFBox 从 PDF 文档中删除 OCR 文本

使用 pdfplumber 从 pdf 文件中提取文本

使用 Python 將 PDF 文本提取到文本文件中 - 提取錯誤