Как открыть PDF-файл в Chrome или Safari без загрузки в Swift?
Как отобразить PDF-файл в Chrome или Safari, когда пользователь нажимает на pdfButton. Я новичок в iOS и концепции отображения документов. следующие данные я получаю с сервера.
{
"status" : 200,
"body" : "<div>Hi Attachment,<\/div><div><br><\/div><div>Attachment Test<br><\/div>",
"attachment" : "http:\/\/192.168.1.46:3000\/system\/images\/178\/mca%282016-2019%29transfer_certificates_original.pdf?1528805255",
"sender" : "Dr.P.Shanthi(employee@inmeghcms.in)",
"message" : "Details fetched successfully",
"time" : "12 Jun 2018",
"profile" : "http:\/\/192.168.1.46:3000\/assets\/female.png",
"subject" : "TEST"
}
2 ответа
Решение
Привет, попробуйте следующий код, я использую код @ Binesh, и я обновился до Swift 4.0.
var docController:UIDocumentInteractionController!
let pdfUrl = NSURL(string: "Use your url")
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
downloadPDfDoc(pdfUrl: pdfUrl!)
}
@IBAction func pdfViewAction(_ sender: AnyObject) {
docController.presentOptionsMenu(from: self.view.frame, in: self.view, animated: true)
}
func downloadPDfDoc(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!)
}
}
}
}
}
}
}
попробуйте это и дайте мне знать, если у вас возникнут какие-либо проблемы.
Если у вас есть URL-адрес файла PDF, вы можете открыть его в веб-браузере по умолчанию, используя
UIApplication.shared.open(url)