【发布时间】:2012-10-31 14:56:49
【问题描述】:
我的应用中有一个 PDF 查看器。我只是将 PDF 文件加载到 UIWebView 中。但是当 PDF 包含数字签名时,它不会显示在 WebView 中。显示 PDF 的所有其他内容。只有签名区域留空。我检查了预览,也检查了 OSX 中的 Safari,结果是一样的。
然后我下载了 Mac 版 Adobe Reader 应用程序,并尝试打开 PDF。它正确显示了签名!
谁能告诉我目标C中是否有任何机制来显示PDF文件的签名。
【问题讨论】:
-
我相信 adobe 公开了 PDF 的元数据部分。我不太确定签名是否算作元数据(尤其是因为 PDF 规范长达 1000 多页),但通过 Core Graphics PDF API 获取它值得一试。
-
数字签名实际上并不是元数据的一部分。数字签名存储在签名字段中。您可以在字段字典的值 (/V) 的 /Contents 条目中找到它。欲了解更多信息,请阅读itextpdf.com/book/digitalsignatures
-
PDF 规范 ISO 32000-1:2008 的相关部分也值得一读,尤其是关于 签名字段 的第 12.7.4.5 节和关于 数字签名。当然,如果所讨论的签名实际上是 XML 签名,则需要 XFA 规范。
-
谢谢大家。除了使用 Quartz 2D 或简单的二进制解析器解析 PDF 之外,似乎没有内置的方法可以实现这一点。我会尽快实现这一点,并尽快更新!
-
这很不幸,即使 4 年后他们还没有在 UIWebView 中包含此功能?
标签: ios pdf uiwebview digital-signature