Tag: pdfkit

使用带有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中,从而从图像上下文中获取笔触。

使用PDFKit渲染PDF文档

对于开发人员而言,在移动应用程序中集成PDF呈现功能始终是一项艰巨的任务。 无论是Android还是iOS,开发人员通常更喜欢使用第三方库或本机c / c ++ /低级代码来呈现pdf文档。 好消息来了! 苹果最近在iOS 11中添加了PDFKit框架,这使得PDF渲染变得非常容易。 在本文中,我将重点介绍PDFKit中可用的两个最常用的功能。 呈现PDF文档。 创建指定文档页面的缩略图预览 PDF渲染 注意。 在自定义类字段中键入PDFView时,没有自动补全功能。 让我们了解一下我们可以在PDFView上应用哪些属性。 PDFDisplayMode 您可以使用框架中提供的4种displayModes中的任何一种 singlePage:仅显示1个具有滚动支持的页面。 singlePageContinuous:显示带有滚动条支持的整个PDF文档,以在多个页面之间滚动。 twoUp:滚动条支持并排显示两个页面。 twoUpContinuous:并排显示具有2页的整个pdf文档。 2. PDFDisplayDirection 提供两种滚动模式,即垂直和水平。 垂直:在页面之间垂直滚动。 horizo​​ntal :启用页面之间的水平滚动。 3. autoScales = true :以下是来自Apple开发人员文档的摘录。 //对于连续模式,这是“适合宽度”行为,对于非连续模式,这是“最佳适合”行为。 4. 提供文件网址 let path = Bundle.main.path(forResource:“ MFI_2018_01”,ofType:“ pdf”) 让url = URL(fileURLWithPath:path) 让pdfDocument = PDFDocument(url:url) pdfView.document = pdfDocument 加载文档缩略图 通常,我们遇到要求时,我们只需要显示PDF文档中的特定页面缩略图即可。 从实现的角度来看,这听起来还是很吓人的,但是PDFKit使其非常简单🙂 创建PDFDocument对象。 […]

iOS PDFKit墨水注释教程

现在我们可以设置PDFView: 使用Interface Builder为ViewController’s类创建@IBOutlet 别忘了import PDFKit 这是我的PDFView设置代码: //设置PDF视图 pdfView.displayDirection = .vertical pdfView.usePageViewController(真) pdfView.pageBreakMargins = UIEdgeInsets(顶部:0,左侧:0,底部:0,右侧:0) pdfView.autoScales = true pdfView.backgroundColor = UIColor(白色:0.95,Alpha:1.0) 第一行很简单:您的PDFView可以具有垂直或水平滚动方向。 第二个非常有用:默认情况下, PDFView使用内置的UIScrollView进行所有文档的连续滚动。 但是,您可以激活PageViewController模式,因此PDFView在屏幕上仅显示一页。 我发现.autoScales设置包含错误:屏幕旋转时,它在iPad上不起作用。 要解决此问题,您必须添加此调用: 覆写func viewWillTransition(大小为CGSize,搭配协调器:UIViewControllerTransitionCoordinator){ pdfView.autoScales = true } 另一个异常行为的方法是.backgroundColor 。 它仅在代码中起作用,而当您尝试在Interface Builder中进行设置时则不起作用。 哦,我花了很多时间试图了解我做错了什么! 最后,我能够找到原因:调用pdfView.document = … PDFView的背景色重置为默认值。 因此,请在 pdfView.backgroundColor = … 之后 调用 pdfView.backgroundColor = … 完成PDFView设置后,让我们向您的项目中添加一个示例PDF文档 (将其拖放到左侧面板中): 创建PDFDocument并将其添加到您的PDFView : 保护卫队路径= […]

是否可以访问开发iOS时的pdf大纲

由于PDFKit在iOS上不可用,怎样才能在该环境下获得PDF文档的大纲呢? 像FastPdfKit或PSPDFKit商业图书馆是唯一的解决scheme?