我想在UIImageView中显示存储在服务器中的PDF文件的缩略图。
我的应用程序面向iOS 9,因此PDFKit对我不起作用。
我也经历过各种解决方案,但没有一个对我有用。示例-https://stackoverflow.com/a/4768524/4152591
这里有谁遇到过类似的问题?
提前致谢。
最佳答案
private func thumbnailFromPdf(withUrl url: URL, pageNumber: Int = 1, width: CGFloat = 240) enter code here-> UIImage? {
guard
let pdf = CGPDFDocument(url as CFURL),
let page = pdf.page(at: pageNumber)
else { return nil }
var pageRect = page.getBoxRect(.mediaBox)
let pdfScale = width / pageRect.size.width
pageRect.size = CGSize(width: pageRect.size.width * pdfScale, height: pageRect.size.height * pdfScale)
pageRect.origin = .zero
UIGraphicsBeginImageContext(pageRect.size)
if let context = UIGraphicsGetCurrentContext() {
context.setFillColor(UIColor.white.cgColor)
context.fill(pageRect)
context.saveGState()
context.translateBy(x: 0.0, y: pageRect.size.height)
context.scaleBy(x: 1.0, y: -1.0)
context.concatenate(page.getDrawingTransform(.mediaBox, rect: pageRect, rotate: 0, preserveAspectRatio: true))
context.drawPDFPage(page)
context.restoreGState()
}
let image = UIGraphicsGetImageFromCurrentImageContext()
defer { UIGraphicsEndImageContext() }
return image
}
关于ios - 获取存储在远程位置iOS 9中的PDF文件的缩略图| swift ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51705049/