iOS로 PDF 표시
//: Playground - noun: a place where people can play
import PlaygroundSupport
import UIKit
import CoreGraphics
class PDFView: UIView {
var page: CGPDFPage?
override func draw(_ rect: CGRect) {
guard let page = page else { return }
guard let context = UIGraphicsGetCurrentContext() else {
fatalError()
}
context.translateBy(x: 0, y: rect.size.height)
context.scaleBy(x: 1.0, y: -1.0)
let box = page.getBoxRect(.mediaBox)
let xScale = rect.size.width / box.size.width
let yScale = rect.size.height / box.size.height
let scale = min(xScale, yScale)
let tx = (rect.size.width - box.size.width * scale) / 2
let ty = (rect.size.height - box.size.height * scale) / 2
context.translateBy(x: tx, y: ty)
context.scaleBy(x: scale, y: scale)
context.drawPDFPage(page)
}
}
guard let url = NSURL(string: "http://devstreaming.apple.com/videos/wwdc/2016/402h429l9d0hy98c9m6/402/402_whats_new_in_swift.pdf"), let doc = CGPDFDocument(url) else {
fatalError()
}
let pageCount = doc.numberOfPages
let number = 1
let page = doc.page(at: number)
let view = PDFView(frame: UIScreen.main.bounds)
view.backgroundColor = UIColor.lightGray
view.page = page
PlaygroundPage.current.liveView = view
위의 코드가 Playground에서 검증되었습니다.PlaygroundPage.current.liveView = view
에서는 Playground에서도 View를 확인할 수 있습니다.이번에는 한 페이지의 표시로
doc.page(at: number)
로 페이지를 전환할 수 있기 때문에 PDFViewer 같은 응용 프로그램도 간단하게 제작할 수 있다
Reference
이 문제에 관하여(iOS로 PDF 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Nonchalant/items/b94ee09e9bac5c938c62텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)