UIWebView可以直接打开PDF文件,代码很简单,如下所示:

@IBOutlet weak var webView: UIWebView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let filename = Bundle.main.path(forResource: "test", ofType: "pdf")
        let url = URL(fileURLWithPath: filename!)
        
        let request = URLRequest(url: url)
        self.webView.scalesPageToFit = true
        self.webView.loadRequest(request)
    }

效果如下图所示:

加载的PDF文件是放置在一个UIWebPDFView视图中,UIWebPDFView应该是一个私有类,可以在 UIWebPDFView.h查看其声明。