Методы открытия PDF в Swift: PDFKit, WebView и UIDocumentInteractionController

Чтобы открыть PDF-файл в Swift, вы можете использовать различные методы в зависимости от ваших конкретных требований. Вот несколько вариантов:

  1. Использование PDFKit Framework: PDFKit — это встроенная платформа Swift, обеспечивающая функциональные возможности для отображения PDF-документов и управления ими. Вы можете использовать следующий фрагмент кода, чтобы открыть PDF-файл с помощью PDFKit:
import PDFKit
// Get the URL of the PDF file
let pdfURL = Bundle.main.url(forResource: "example", withExtension: "pdf")
// Create a PDFView instance
let pdfView = PDFView(frame: CGRect(x: 0, y: 0, width: 300, height: 400))
// Load the PDF document
if let pdfDocument = PDFDocument(url: pdfURL) {
    pdfView.document = pdfDocument
    // Add the PDFView to your view hierarchy
    view.addSubview(pdfView)
}
  1. Использование WebView. Вы также можете открыть PDF-файл, загрузив его в WebView. Этот метод полезен, если вам нужен больший контроль над отображением и взаимодействием с PDF-файлом. Вот пример того, как можно загрузить PDF-файл в WebView:
import WebKit
// Get the URL of the PDF file
let pdfURL = Bundle.main.url(forResource: "example", withExtension: "pdf")
// Create a WKWebView instance
let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: 300, height: 400))
// Load the PDF file in the WebView
webView.loadFileURL(pdfURL, allowingReadAccessTo: pdfURL)
// Add the WebView to your view hierarchy
view.addSubview(webView)
  1. Использование UIDocumentInteractionController: UIDocumentInteractionController обеспечивает способ представления PDF-файлов и взаимодействия с ними с использованием функций системного уровня, таких как совместное использование и печать. Вот пример того, как вы можете использовать UIDocumentInteractionController для открытия PDF-файла:
import UIKit
// Get the URL of the PDF file
let pdfURL = Bundle.main.url(forResource: "example", withExtension: "pdf")
// Create a UIDocumentInteractionController instance
let documentInteractionController = UIDocumentInteractionController(url: pdfURL)
// Present the document interaction controller
documentInteractionController.presentPreview(animated: true)