1

我做了一些研究,发现我可以用这个PDFKit库绘制图像、字符串、形状。是否有任何简单的方法可以在 PDF 文档中绘制 aUIView或 a 的视图?UIViewController

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

4

1 回答 1

2

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()
于 2019-06-24T20:07:02.100 回答