Обратный иврит или цифры после использования iText для анализа PDF-документа

Я работаю с iText5 для анализа pdf, написанного в основном на иврите. Чтобы извлечь текст, я использую PdfTextExtractor.getTextFromPage. Я не нашел способ изменить кодировку в библиотеке, и текст появляется в тарабарщине.

Я попытался исправить кодировку следующим образом: new String(pdfPage.getBytes(Charset1), Charset2). Я просмотрел все возможные кодировки, используя Charset.availableCharsets(), и некоторые из них дали мне иврит вместо тарабарщины, но изменили его на противоположный.

Теперь я подумал, что могу перевернуть текст по строкам, но иврите его справа налево и число и английский слева направо. Поэтому, если я меняю линию, он фиксирует иврит, но разбивает числа / английский.

Пример:

PdfTextExtractor.getTextFromPage возвращает 87.55 úåáééçúä ééåëéð ë"äñ

new String(text.getBytes(Charset.forName("ISO-8859-1")), Charset.forName("windows-1255")) возвращает 87.55 תובייחתה ייוכינ כ"הס

, если я отменяю это, тогда я получаю סה"כ ניכויי התחייבות 55.78

Число должно быть 87.55, а не 55.78

Единственное решение, которое я нашел, состоит в том, чтобы разбить его на иврит, а остальные (английский / цифры), и отменить только части на иврите, а затем объединить его.

Не существует ли более легкое решение? Я чувствую, что я что-то пропускаю с кодировкой / RTL

0
задан 13 August 2018 в 15:33

0 ответов

Другие вопросы по тегам:

Похожие вопросы: