【问题标题】:Swift PDF render any UIView or UIViewController PDFKitSwift PDF 渲染任何 UIView 或 UIViewController PDFKit
【发布时间】:2019-11-06 13:54:40
【问题描述】:

我做了一些研究,发现我可以使用PDFKit 库绘制图像、字符串、形状。有什么简单的方法可以在 PDF 文档中绘制 UIViewUIViewController 的视图?

我更喜欢 Swift 的答案,但我也会接受 Objective-C。

【问题讨论】:

    标签: swift ios-pdfkit apple-pdfkit


    【解决方案1】:

    UIView 以及包含在 UIViewController 中的视图,都可以使用图层进行渲染:

    获取上下文:

    let context = UIGraphicsGetCurrentContext()!
    

    界面视图:

    view.layoutIfNeeded()
    view.layer.render(in: context)
    

    UIViewController

    controller.loadViewIfNeeded()
    controller.view.layer.render(in: context)
    

    完整的工作脚本:

    let pdfMetadata =
    [
        kCGPDFContextCreator: "MyAppName",
        kCGPDFContextAuthor: "TheAuthor"
    ]
    UIGraphicsBeginPDFContextToFile(filePath, CGRect.zero, pdfMetadata)
    
    let context = UIGraphicsGetCurrentContext()!
    
    UIGraphicsBeginPDFPage()
    
    controller.loadViewIfNeeded()
    controller.view.layer.render(in: context)
    
    UIGraphicsEndPDFContext()
    

    【讨论】:

      猜你喜欢
      • 2014-01-24
      • 2015-06-03
      • 2014-07-22
      • 2013-07-04
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      相关资源
      最近更新 更多