Wie kann ich eine PDF-Datei für eine App hinzufügen, wo Sie auf eine Schaltfläche klicken, um die Datei & anzuzeigen, wenn Sie fertig sind, gelangen Sie zurück zu Bildschirm Sie waren?Öffnen Sie die PDF-Datei mit swift
Antwort
Wenn Sie nur eine PDF-Datei anzeigen möchten, können Sie sie in ein UIWebView laden.
let url : NSURL! = NSURL(string: "http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIWebView_Class/UIWebView_Class.pdf")
webView.loadRequest(NSURLRequest(URL: url))
Wenn Sie mehr erreichen möchten, ist ein guter Rahmen PSPDFKit.
Sie können UIDocumentInteractionController verwenden, um eine Vorschau der Datei in IOS anzuzeigen. In der Datei-View-Controller, eine Eigenschaft vom Typ UIDocumentInteractionController hinzufügen
und eine einfache Delegatmethode davon implementieren
self.documentInteractionController = UIDocumentInteractionController.init(URL: url)
self.documentInteractionController?.delegate = self
self.documentInteractionController?.presentPreviewAnimated(true)
func documentInteractionControllerViewControllerForPreview(controller: UIDocumentInteractionController) -> UIViewController {
return self
}
vergessen Sie nicht UIDocumentInteractionControllerDelegate in View-Controller-Klasse
self.documentInteractionController = UIDocumentInteractionController.init (URL: url) self.documentInteractionController .delegate = Selbst self.documentInteractionController .presentPreviewAnimated (true) –
Für Xcode hinzufügen 8.1 und Swift 3.0
Speichern Sie die PDF-Datei in einem beliebigen Ordner Ihres xcode. den Dateinamen
if let pdf = Bundle.main.url(forResource: "Filename", withExtension: "pdf", subdirectory: nil, localization: nil) {
let req = NSURLRequest(url: pdf)
yourWebViewOutletName.loadRequest(req as URLRequest)
}
Gleiche gilt, wenn Sie eine HTML-Datei öffnen wollen ‚Dateiname.pdf‘ ist Angenommen.
Sie können auch Quick Look Framework von Apple verwenden.
Es ist sehr flexibel.
Sie können Ihre PDF-Datei mit Zoom-Funktion anzeigen.
Auch Sie haben Unterstützung für alle anderen Arten (wie PNG, JPG, DOCX, TXT, RTF, XLSX, ZIP, MOV, etc) von Dateien und es ist sehr einfach zu bedienen.
Bitte beachten this Antwort, wenn Sie eine detaillierte Beschreibung wollen QuickLook.framework der Verwendung
let openLink = NSURL(string : self.OtherContactorProfileVview.Result.CertificateList[index].CertificateFileLink)
if #available(iOS 9.0, *) {
let svc = SFSafariViewController(url: openLink! as URL)
present(svc, animated: true, completion: nil)
} else {
let port : PDFViewer = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PDFViewer") as! PDFViewer
port.strUrl = self.OtherContactorProfileVview.Result.CertificateList[index].CertificateFileLink
self.navigationController?.pushViewController(port, animated: true)
}
Dies wäre keine schlechte Antwort sein, wenn der richtige Kontext hinzugefügt wurde?. Um Sie zu verwenden, müssen Sie eine schnelle Datei PDFViewer erstellen und dem UIWebViewDelegate und natürlich self.OtherContactorProfileVview.Result.CertificateList [index] entsprechen. CertificateFileLink ist der Name Ihrer pdf/file im obigen Beispiel – itsmcgh
SWIFT 4+
Wenn hat Datei zu öffnen, aus dem lokalen Cache/Documentdiectory Das hat Dateipfad
Methode: mit UIDocumentInteractionController
class ViewController: UIViewController,UIDocumentInteractionControllerDelegate {
let documentInteractionController = UIDocumentInteractionController(url: URL(fileURLWithPath: path))
documentInteractionController.delegate = self
documentInteractionController.presentPreview(animated: true)
}
//MARK: UIDocumentInteractionController delegates
func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController {
return self
}
Methode 2: Verwendung von WebView
let webview = WKWebView(frame: UIScreen.main.bounds)
view.addSubview(webview)
webview.navigationDelegate = self
webview.load(URLRequest(url: URL(fileURLWithPath: path)))//URL(string: "http://") for web URL
- 1. App von Widget IOS mit Swift öffnen
- 2. Android - Öffnen Sie die Datei mit QFile
- 3. Öffnen Sie die ausführbare Datei mit PHP
- 4. Öffnen Sie die Apple Maps App mit bestimmten MKRoute-Informationen
- 5. Öffnen Sie die vSwitch-Entwicklerdokumentation.
- 6. NSOpenPanel in Swift. Wie Öffnen?
- 7. Öffnen Sie die HTML-Seite
- 8. Öffnen Sie die Datei schreibgeschützt
- 9. So öffnen Sie Anwendung per URL in SMS in Swift
- 10. Öffnen Sie Kamera und Bibliothek nur im Querformat in Swift
- 11. OSX Swift URL im Standardbrowser öffnen
- 12. So öffnen Sie eine neue Tabellenansicht programmgesteuert in swift
- 13. Öffnen Sie die Kategorie, wenn Sie auf
- 14. öffnen Sie neuen Bildschirm auf Knopf klicken in Swift
- 15. So öffnen Sie die Navigationsschublade ohne Aktionsleiste, öffnen Sie mit nur einer Taste
- 16. Öffnen Sie die Datei in IE
- 17. Öffnen Sie die Datenbank einer anderen Anwendung?
- 18. Öffnen von viewController programmgesteuert in swift
- 19. Swift: Wie Datei mit zugehöriger Anwendung zu öffnen?
- 20. (Windows) Öffnen Sie die gleiche Datei gleichzeitig
- 21. Öffnen Sie die Grafik Geschichte in Swift bekommen einen ganz weißen Bildschirm
- 22. Wie Sie die Callout-Taste verwenden, um den neuen uiviewcontroller zu öffnen. (Swift)
- 23. Öffnen Sie die zuletzt geänderte Datei im Verzeichnis mit vi
- 24. Öffnen Sie die Datei in Intellij Editor mit Befehlszeilen
- 25. Öffnen Sie die Datei mit der zugehörigen Anwendung
- 26. Öffnen Sie die native Android-Kamera mit OpenCV
- 27. So öffnen Sie die Select-Eingabe mit jquery
- 28. Öffnen Sie die Chrome-App mit der URL
- 29. Öffnen Sie die Anwendung durch Benachrichtigung
- 30. Öffnen Sie die dynamische Datei (fopen)
Danke für die Antwort! Aber kann das nur von einem externen pdf verwendet werden, funktioniert es, wenn ich pdf in das Programm selbst einfügen wollte? – user3706773
UIWebView kann eine lokale PDF laden. Verwenden Sie stattdessen '[NSURL fileURLWithPath: strURLPath];'. .Der Pfad ist entweder Ihr Dokumentenverzeichnis oder Ihr Ressourcenpaket. . Es gibt auch eine Methode in UIWebView, um Daten zu laden, damit Sie ein NSData-Objekt füttern können. (Streaming von Datei ist jedoch wahrscheinlich besser für die Speicherauslastung). –
Wenn in Ressourcen-Verzeichnis: http://stackoverflow.com/questions/6398937/getting-a-list-of-files-in-the-resources-folder-ios (ähnliche Geschichte für Dokumente dir). . . Erstellen Sie NSURL aus Zeichenfolge. –