如何在iPhone应用程序中使用CGPDFScanner查找pdf文档字体?

时间:2012-02-09 09:19:42

标签: iphone objective-c pdf cgpdf

我在CGPDFScanner中的Tf回调方法中得到“F1.0”。 但我没有得到如何继续“F1.0”

在做了一些搜索后,我才知道它是字体细节的王者。 我该如何解码这个值。

1 个答案:

答案 0 :(得分:1)

字体对象位于/ Resources字典中。如果要解析页面内容流,则可以获得如下字体对象:从Page字典中获取/ Resources字典。从/ 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规范中有详细说明。