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

Posted

技术标签:

【中文标题】如何在 iPhone 应用程序中使用 CGPDFScanner 查找 pdf 文档字体?【英文标题】:How to find the pdf document font using CGPDFScanner in iphone app? 【发布时间】:2012-02-09 09:19:41 【问题描述】:

我在 CGPDFScanner 的 Tf 回调方法中得到“F1.0”。 但我不知道如何继续使用“F1.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 规范中有详细说明。

【讨论】:

感谢您的回复。但我不知道如何进入下一个级别。表示如何找到 f10FontDictionary 详细信息以获取更多规范。你能给我更多的代码吗?。 此处提供 PDF 规范:adobe.com/devnet/pdf/pdf_reference_archive.html。字体对象字典中的条目在 5.4、5.5、5.6 节中列出。 (PDF 规范 1.7)

以上是关于如何在 iPhone 应用程序中使用 CGPDFScanner 查找 pdf 文档字体?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iTunes Connect 中查看我的 iphone 应用程序的使用情况?

如何在 iphone 中使用应用程序委托方法

如何使用模拟分享我仍在开发中的 iphone 应用程序

如何在 iPhone 应用程序中使用 Superfeedr?

如何在 iPhone / iPad 的应用程序中正确使用保留和释放

如何在iPhone中使用MKMapView导航应用程序?