带有某些字符的Apache PDFBox 2波斯/阿拉伯语文本提取问题(错误输出)

时间:2018-09-30 13:43:16

标签: java pdfbox arabic text-extraction farsi

我正在使用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”(以波斯语:لا)时,它肯定会出错。 作为测试用例,我使用了一个包含一些简单单词(test-file.pdf)的PDF文件。在下表中,给出了原始单词和PDFBox输出:

enter image description here

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

0 个答案:

没有答案