Swift:将pdf文件读入pdf应用程序阅读器 [英] Swift: Read pdf file into pdf application reader

查看:151
本文介绍了Swift:将pdf文件读入pdf应用程序阅读器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当单击按钮时,如何显示所有可以读取pdf文件的应用程序(例如,adobe pdf阅读器)?我进行了搜索,但发现大多数使用UIWebView来显示pdf文件.如何用我描述的方式做到这一点?

How can I display all applications that can read pdf file (adobe pdf reader for example) when a button is clicked? I searched but I found that the majority use UIWebView to display pdf file. How can I do it with the way that I described?

修改: 我只有从服务器获取的pdf链接

I have only the pdf link that I get from the server

推荐答案

尝试一下

var docController:UIDocumentInteractionController!
let pdfUrl = NSURL(string: "ENTER_URL_OF_PDF")

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    downloadDoc(pdfUrl: pdfUrl!)
}

@IBAction func buttonAction(_ sender: AnyObject) {
    docController.presentOptionsMenu(from: self.view.frame, in: self.view, animated: true)
}

func downloadDoc(pdfUrl : NSURL) {
    let urlTest = self.pdfUrl!.absoluteString
    let pdfUrl = NSURL(string: urlTest!)
    if(pdfUrl != nil){
        let pdfRequest: NSURLRequest = NSURLRequest(url: pdfUrl! as URL)
         NSURLConnection.sendAsynchronousRequest(pdfRequest as URLRequest, queue: OperationQueue.main) {(response, data, error) in
            let httpResponse = response as? HTTPURLResponse
            if(httpResponse?.statusCode == 200 && error == nil){
               let documentsUrl =  FileManager.default.urls(for: FileManager.SearchPathDirectory.documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask).first as! NSURL

               if let fileName = self.pdfUrl!.lastPathComponent {
                  let destinationUrl = documentsUrl.appendingPathComponent(fileName)
                  if let data = data {
                        do {
                            try data.write(to: destinationUrl!, options: .atomic)
                        } catch {
                            print(error)
                        }
                        self.docController = UIDocumentInteractionController(url: destinationUrl!)
                  }
               }

            }

        }

    }

}

这篇关于Swift:将pdf文件读入pdf应用程序阅读器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆