Apache PDFBox 2 Проблема извлечения фарси / арабского текста с некоторыми символами (неправильный вывод) - PullRequest
0 голосов
/ 30 сентября 2018

Я использую Apache PDFBox 2.0.11 для извлечения текста из некоторых документов PDF с использованием класса PDFTextStripper.Вот код, используемый для извлечения:

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:

enter image description here

Так что было бы весьма полезно, если бы кто-нибудь мог предоставить какой-то обходной путь для описанногопроблема.

...