2017-11-02 2 views
0

Ich habe eine recyleView, die Liste der Kundenrechnungen anzeigen, wenn Sie auf Rechnung klicken Ich muss die Detailrechnung anzeigen (Rechnung URL - wenn die URL auf Browser die Download als PDF - erforderlich für die Authentifizierung) ich den Code unten verwendet, um die PDF zum Download, ich kann dich PDF meine FragenSo zeigen Sie PDF-Datei von URL und in WebView zeigen

a) heruntergeladen wird, wie kann ich diese zeigen in webView

b) gibt es eine andere Art und Weise kann ich zeigen Diese PDF-Datei für den Benutzer ohne Herunterladen/Schreiben an externen Direktor

Antwort

1

wie kann ich zeigen dies in webView

WebView keine nativen Fähigkeit, PDF-Dateien zu machen hat. Sie können Mozillas PDF.js verwenden, um ein PDF in WebView zu rendern, obwohl dies nur unter Android 4.4+ funktioniert und geringfügige Anpassungen an PDF.js erfordert.

gibt es eine andere Art und Weise ich diese PDF an den Benutzer

Sie können es in dem internen Speicher herunterladen (zB getFilesDir(), getCacheDir()), dient die Datei ohne Download/Schreiben an externem Direktor zeigen über FileProvider, und verwenden Sie ACTION_VIEW, damit der Benutzer die PDF-Datei mit dem bevorzugten PDF-Viewer anzeigen kann.

Für begrenzte PDFs auf Android 5.0 und höher gibt es PdfRenderer im Android SDK. pdfium ist für Android verfügbar, aber es ist ziemlich groß. Weitere Informationen zu PDF-Anzeigeoptionen finden Sie unter this blog post.

Es gibt auch kommerzielle PDF-Rendering-Bibliotheken, die Sie erforschen können.

+0

danke für das Zeigen auf Ihren Blog-Post, wenn ich richtig verstanden habe, wenn WebView diese PDF nicht rendern kann, kann ich Retrofit Client verwenden, um die Datei herunterzuladen und ActionView verwenden, um die Datei anzuzeigen, keine Notwendigkeit von webView hier – Sam

+0

@Sam: Ja können Sie Retrofit und 'ACTION_VIEW' verwenden, um dem Benutzer das Anzeigen der PDF-Datei zu ermöglichen. Wenn Sie die PDF-Datei nicht auf externen Speichermedien speichern möchten, laden Sie sie in den internen Speicher und verwenden Sie 'FileProvider', um die' Uri' mit 'ACTION_VIEW' zu verwenden. – CommonsWare

Verwandte Themen