Как найти шрифт документа PDF с помощью CGPDFScanner в приложении для iPhone? - PullRequest
0 голосов
/ 09 февраля 2012

Я получаю "F1.0" в методе обратного вызова Tf в CGPDFScanner. Но я не понимаю, как я могу продолжать "F1.0"

После некоторых поисков я узнал, что это король деталей шрифта. Как я могу декодировать это значение.

1 Ответ

1 голос
/ 09 февраля 2012

Объекты шрифтов находятся в словаре / Resources. Если вы анализируете поток содержимого страницы, вы получаете объект шрифта следующим образом: получите словарь / Resources из словаря Page. Из словаря / Resources получите словарь / Font. Из словаря / Font получите словарь шрифтов с вашим ярлыком /F1.0. В основном код выглядит следующим образом (вам нужно добавить код обработки ошибок, потому что эти словари могут быть NULL):

CGPDFDictionaryRef pageDictionary = CGPDFPageGetDictionary(pdfPage);

CGPDFDictionaryRef resourcesDictionary;
CGPDFDictionaryGetDictionary(pageDictionary, "Resources", &resourcesDictionary);

CGPDFDictionaryRef fontDictionary;
CGPDFDictionaryGetDictionary(resourcesDictionary, "Font", &fontDictionary);

CGPDFDictionaryRef f10FontDictionary;
CGPDFDictionaryGetDictionary(fontDictionary, "F1.0", &f10FontDictionary);

f10FontDictionary будет содержать объект шрифта. Записи в этом словаре подробно описаны в спецификации PDF.

...