Swift version: 5.6
Apple’s PDFKit framework provides a huge range of code to help us work with PDFs, and one of the most useful is PDFView
– it renders PDFs to the screen and lets users interact with them.
To try it out, start by importing the PDFKit framework:
import PDFKit
Next, add this code to your viewDidLoad()
method to create a PDFView
and make it fill all available space:
let pdfView = PDFView()
pdfView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(pdfView)
pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
pdfView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
Finally, create a URL
pointing to a PDF you have in your bundle somewhere (or one in your documents directory), then create a PDFDocument
object from that and pass it to the PDF view:
guard let path = Bundle.main.url(forResource: "example", withExtension: "pdf") else { return }
if let document = PDFDocument(url: path) {
pdfView.document = document
}
Done!
SPONSORED Get accurate app localizations in minutes using AI. Choose your languages & receive translations for 40+ markets!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Available from iOS 11.0 – learn more in my book Advanced iOS: Volume Two
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.
Link copied to your pasteboard.