Извлечение текста в кодировке Identity-H с помощью iText

#itext #extract

#итекст #извлечение

Вопрос:

Я пытаюсь извлечь текст из файла pdf. Текст выбирается в Acrobat. Acrobat выводит список шрифтов ArialUnicodeMS с типом: TrueType (CID) и кодировкой: Identity-H.

Использование фрагмента

 PdfReader reader = new PdfReader(filePath);
String content = PdfTextExtractor.getTextFromPage(reader, 1);
  

Я получаю что-то обратно, но это нечитаемо при выводе в стандартный вывод или в файл (вывод выглядит как пустые символы). Как я могу извлечь текст в кодировке Identity-H?

Ответ №1:

Это долгий путь, но вы пробовали установить свой PDF на версию 1.2, кодировка identity-H — это двухбайтовая кодировка шрифтов, она используется в основном для азиатских шрифтов и всех PDF-файлов, созданных Indesign.

Если у вас нет функций в вашем pdf, таких как, например, градиенты, прозрачность, вы можете попробовать это (перед этим создайте резервную копию вашего pdf, как я уже говорил, это рискованно, просто подумайте вслух)

Комментарии:

1. Спасибо за ваш ответ. Я не могу изменять свой PDF-файл, чтобы его можно было прочитать. Я переключился на pdfbox, который, по-видимому, не имеет проблем.