我正在从数据加载PDF以从中创建UIImage。我需要使其在ios 4中从ios9开始工作。
这是我的代码:
guard let cfData = CFDataCreate(kCFAllocatorDefault, UnsafePointer<UInt8>(data), data.length) else { return nil}
let cgDataProvider = CGDataProviderCreateWithCFData(cfData)
guard let pdf = CGPDFDocumentCreateWithProvider(cgDataProvider) else { return nil }
但是第一行出现错误:无法为类型为'(Data)'的参数列表调用类型'UnsafePointer'的初始化程序
我正在寻找有关如何重写它的帮助。我正在尝试使用“ withUnsafeBytes”,但无法使其正常工作:
let tempData: NSMutableData = NSMutableData(length: data.count)!
data.withUnsafeBytes {
tempData.replaceBytes(in: NSMakeRange(0, data.count), withBytes: $0)
}
let bytes = data.bytes.assumingMemoryBound(to: UInt8.self)
let cfData = CFDataCreate(kCFAllocatorDefault, bytes, data.length)
guard let cfData = CFDataCreate(kCFAllocatorDefault, UnsafePointer<UInt8>(data), data.length) else { return nil}
let cgDataProvider = CGDataProviderCreateWithCFData(cfData)
guard let pdf = CGPDFDocumentCreateWithProvider(cgDataProvider) else { return nil }
答案 0 :(得分:0)
您尝试过吗?
import PDFKit
let pdf = PDFDocument(data: data)
这样,您可以轻松地在PDFView内显示pdf,而无需进行基础工作。您可以在此处阅读有关PDFKit
的全部信息:https://developer.apple.com/documentation/pdfkit