这是我目前正在做的。如何在Swift上绘制PDF文件?
首先,我得到的文件。接下来,我创建一个PDF视图并将文档分配给视图。然后我创建一个视图并在视图中进行绘制,然后将视图添加到PDFView中作为子视图。然后我将PDFView转换为数据,然后转换为PDF文档。由于我在PDF的第一页上执行绘图,因此我从原始PDF中删除第一页,插入新的第一页并返回文档。
guard let document = PDFDocument(url: url) else { return nil }
guard let page = document.page(at: 0) else { return nil }
let pageBounds = page.bounds(for: .mediaBox)
let pdfView = PDFView(frame: pageBounds)
pdfView.document = document
pdfView.enclosingScrollView?.autohidesScrollers = true
let view = /// code for subview that I am drawing on
pdfView.addSubview(view)
let data = pdfView.dataWithPDF(inside: pageBounds)
guard let pdf = PDFDocument(data: data) else { return nil }
document.removePage(at: 0)
document.insert(pdf.page(at: 0)!, at: 0)
return document
有没有更好的方法来做到这一点?要添加皱纹,我的最终产品有一个奇怪的滚动条图像(请参阅屏幕截图)。我尝试添加自动隐藏滚动条& enclosingScrollView?.hasVerticalScroller = false,但都没有隐藏滚动条。
提前致谢!