CGPDFScanner, Identity-H и декомпрессия - PullRequest
0 голосов
/ 18 мая 2011

Мой экземпляр CGPDFScanner сканирует тестовый файл PDF.

В данный момент текущий словарь шрифтов имеет Encoding значение Identity-H и FontDescriptor словарь с ключом FontFile2. Этот ключ предназначен для значения потока, в словаре которого есть ключ Filter. Значение для этого ключа FlateDecode.

Я не уверен, как интерпретировать и использовать это (скажем, для извлечения текста в следующем блоке Tj в Unicode). Например, могу ли я просто zlib-распаковать байты в следующем блоке Tj? (Здесь нет ключа ToUnicode.)

Я думал, что вся декомпрессия была выполнена по примеру CGPDFScanner.

1 Ответ

0 голосов
/ 18 мая 2011

Если шрифт использует кодировку Identity-H и не имеет записи ToUnicode, текст не может быть извлечен. Параметр оператора Tj представляет собой последовательность индексов глифов, и эта последовательность не может быть преобразована в текст без записи ToUnicode.

Запись FontFile2 сохраняет фактический файл шрифта, он не играет роли при извлечении текста из файла PDF.

...