3

我正在使用 Apache PDFBox 2.0.11 使用PDFTextStripper该类从一些 PDF 文档中提取文本。这是用于提取的代码:

String pdfFilePath = "path/to/file.pdf";
PDFTextStripper pdfStripper = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
try {
    PDFParser parser = new PDFParser(new RandomAccessFile(new File(pdfFilePath), "r"));
    parser.parse();
    cosDoc = parser.getDocument();
    pdfStripper = new PDFTextStripper();
    pdDoc = new PDDocument(cosDoc);
    String parsedText = pdfStripper.getText(pdDoc);

    System.out.println(parsedText);
} catch (IOException e) {
    e.printStackTrace();
}

我遇到的一个大问题是 PDFBox 错误地提取了一些单词(主要是错位或完全丢失的字符)。特别是当涉及到“La”(波斯语:لا)时,几乎肯定会出错。作为一个测试用例,我使用了一个包含几个简单单词的 PDF 文件(test-file.pdf)。在下表中,给出了原始单词和 PDFBox 输出:

在此处输入图像描述

因此,如果有人可以为所描述的问题提供一些解决方法,那将是非常有帮助的。

4

0 回答 0