Это проблема, с которой вы можете столкнуться при извлечении текста в формате PDF. Формат pdf может обрабатывать несколько разных типов шрифтов и обрабатывать их по-разному. В случае с вашим документом шрифт рассматриваемого текста - это шрифт type0 (PostScript)
. Часто программа описания страницы в pdf выводит строки в младших байтах, не являющихся ascii-байтами. Затем они ищутся в словаре кодирования шрифта, и соответствующий глиф извлекается из программы описания шрифта, которая встроена в файл. У вашего шрифта нет словаря кодировки - он помечен как Identity-H. Обычно это означает, что вместо него будет запись ToUnicode, и действительно ваша запись - но она фактически пуста.
Как иногда случается, в вашем случае глифы в программе описания шрифтов не отображаются в их правильное значение Ascii и просто сопоставляются непосредственно с этими младшими байтовыми значениями (например, глиф A
может быть сопоставлен с 0x01, а не с его обычным значением 0x41).
Так почему текст на странице выглядит нормально?
Это потому, что программа описания шрифта получает сообщение для печати глифа 0x01
, но изображение dr aws имеет букву A. Ни один из файлов pdf не «знает» значение ascii о том, что это печать. Как и любая другая программа, за исключением, возможно, OCR-программы.
С большей вероятностью вы сможете копировать и вставлять из созданного вами PDF-файла, если сохраните его без встраивания шрифтов или если вы используете встроенные файлы PDF. в шрифтах, которые включают Helvetica, Times и Courier. Однако без серьезного реверс-инжиниринга вы не сможете скопировать и вставить этот конкретный документ, равно как и инструменты извлечения текста в формате PDF.