Это мой первый вопрос, поэтому я прошу прощения, если нарушаю какие-либо рекомендации. Я нашел похожие вопросы к этому, но ни один из того, что я мог найти, не пробовал эти методы.
Я пытаюсь программно прочитать текст из файла PDF со встроенными шрифтами (при копировании или чтении напрямую отображаются только случайные символы) .
Вы можете найти образец PDF здесь.
После распаковки PDF с помощью qpdf я смог найти CMap и метод ToUnicode. Однако я не мог их понять. Я попытался извлечь шрифт из PDF с помощью mutool, а затем сгенерировал CMap с помощью ttx. Это работало, но CMap не помог, так как он соответствовал только значениям Юникода.
Здесь вы можете найти файлы ttf и ttx.
Я преобразовал PDF в HTML, используя PDF2HTMLEX, он был преобразован и отрисован правильно, но текст по-прежнему показал rubbi sh, когда я попытался скопировать его. Я также попытался извлечь font-face и сгенерировать из него CMap, но на этот раз CMap просто отобразил значения Unicode в значения ISO.
Вы можете найти HTML и встроенные шрифты. здесь.
Итак, мой вопрос, учитывая этот текущий прогресс, возможно ли вообще написать программу, которая автоматически сопоставляет символы в тексте с их значениями Юникода, а затем правильно читает текст?
Заранее благодарим вас за ваши ответы.
РЕДАКТИРОВАТЬ: Я также пробовал OCR, но они не эффективны и точны с текстом арабского c. Кроме того, если текст Arabi c не может быть выделен, используйте другой просмотрщик PDF. (например, Google Chrome). Я написал программу, которая могла бы извлекать все из PDF в виде текста, но мне пришлось создавать сопоставления символов вручную.