使用带有Swift的PDFKit向PDF添加签名

去年WWDC17期间,Apple在iOS上引入了PDFKit。 与Adobe PDF 1.7版相比,这有了一个很好的框架,使使用PDF文件格式的工作变得更加容易。

因此,我们创建了一个了不起的框架,该框架为您提供了PDF的功能,而您无需阅读所有这些详细信息。 我们阅读了它,所以您不必一定没事。

使用PDFKit,有3种类型的类别类别-视图,文档和支持。 PDFView将成为我们包含PDFDocument的容器视图。 在文档或PDFDocument上,它将保留页面和注释。 PDF上的注释基本上是页面上的交互式元素。

注释将诸如笔记,声音或电影之类的对象与PDF文档页面上的位置相关联,或提供了一种通过鼠标和键盘与用户进行交互的方式。

借助PDFKit,Apple打包了这些类型以使我们可以访问。 那么,我们如何添加签名? 向PDFPage添加PDFAnnotation,一切正常,对吗?

PDFAnnotation具有子类型,因此在特定情况下应使用哪一种。 有两个引人注意的地方:PDFAnnotationSubtype和PDFAnnotationWidgetSubtype。 如果单击它们,您会注意到有一个“签名”注释小部件。 凉! 让我们使用它。

除此以外,没有关于如何使用它的文档,也没有任何示例代码。 (如果您知道,请告诉我!)

在Adobe的PDF规范中(是的,一个苹果公司说我们不必阅读)概述了PDF的不同注释类型。 通过研究,我发现了橡皮图章注释。

橡皮图章注释(PDF 1.3)显示的文本或图形看起来像是在橡皮图章上被盖章的文本。

好吧,让我们做一些我们知道会起作用的事情。 我们为什么不只将签名的UIImage作为图章注释添加到PDF页面!

我们将使用dehili的TouchDraw添加一个视图,该视图将捕获我们签名的笔触。 这个框架有一个很好的方法可以将图形提取到UIImage中,从而从图像上下文中获取笔触。