[Swift] PDFKit을 사용해 보십시오.

7467 단어 SwiftXcode10PDFKitiOS
이번에는 PDF Kit으로 간단하게 PDF를 표시합니다!

완성형


PDF 및 축소판 그림을 표시합니다.

0. PDFKit 프레임워크 가져오기


먼저 프로젝트에 PDFKit 프레임워크를 추가합니다.일반 > 링크 프레임 및 라이브러리에서 더하기 기호를 눌러 PDFKit를 찾고 프레임을 추가합니다.


1. 스토리보드 편집


ViewController에 PDF를 표시하는 UIVIew와 축소판 그림을 표시하는 UIVIew를 배치하고 Constrains를 적절히 추가합니다.

다음 UIVIew 사용자 정의 클래스를 각각 PDFViewPDFThumbnailView 로 변경합니다.


2. 인코딩


전체 코드는 다음과 같다.
ViewController에 있는 두 View가 선언된 후 연관됩니다.getUrl()에 표시된 PDF를 가져오는 URL은 showPDF()에서 가져온 URL에 따라 View에 PDF를 표시합니다.
이번에는 가로로 굴러갈 수 있도록 .displayDirection.horizontal 로 설정했다.
import UIKit
import PDFKit

class ViewController: UIViewController {

    @IBOutlet weak var pdfView: PDFView!
    @IBOutlet weak var pdfThumbnailView: PDFThumbnailView!

    var pdfDocument: PDFDocument!
    var url: URL?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationItem.title = "PDFKit Sample"

        getUrl() 
        showPDF()   
    }
    //URLを取得
    func getUrl() {
        if let path = Bundle.main.path(forResource: "pdfSample", ofType: "pdf") {
            url = URL(fileURLWithPath: path)           
        }
    }
    //PDFを表示
    func showPDF() {
        pdfDocument = PDFDocument(url: url!)

        //画面サイズに収まるように表示
        pdfView.autoScales = true
        // 単一ページのみ表示
        pdfView.displayMode = .singlePage
        //スクロール方向を水平方向へ
        pdfView.displayDirection = .horizontal
        //余白を入れる
        pdfView.displaysPageBreaks = true
        pdfView.pageBreakMargins = UIEdgeInsets(top: 10.0, left: 20.0, bottom: 10.0, right: 20.0)
        //pageViewControllerを利用して表示(displayModeは無視される)
        pdfView.usePageViewController(true)
        //上で取得したpdfDocumentをdocumentに設定し、表示させる
        pdfView.document = pdfDocument

        pdfThumbnailView.layoutMode = .horizontal
        pdfThumbnailView.pdfView = pdfView        
    }
}

경품

.displayDirection.vertical으로 바꾸는 것이 바로 이런 느낌이다.

좋은 웹페이지 즐겨찾기