Ich möchte PDF-Inhalte in der Webansicht anzeigen. Hier ist mein Code:
WebView webview = new WebView(this);
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf");
Ich bekomme einen leeren Bildschirm. Ich habe auch die Internet-Erlaubnis eingestellt.
You've reached the bandwidth limit for viewing or downloading files that aren't in Google Docs format....
. Scheint also nicht zuverlässig zu sein.Wenn Sie nur die URL "Ansicht" verwenden, wird der Benutzer nicht aufgefordert, sich bei seinem Google-Konto anzumelden.
quelle
Das Öffnen eines PDFs mit Google Docs ist im Hinblick auf die Benutzererfahrung eine schlechte Idee. Es ist sehr langsam und reagiert nicht.
Lösung nach API 21
Seit API 21 haben wir PdfRenderer, mit dessen Hilfe ein PDF in Bitmap konvertiert werden kann. Ich habe es nie benutzt, aber es scheint einfach genug zu sein.
Lösung für jedes API-Level
Eine andere Lösung besteht darin, das PDF herunterzuladen und über Intent an eine dedizierte PDF-App zu übergeben, die einen Banger-Job ausführt, bei dem es angezeigt wird. Schnelle und nette Benutzererfahrung, insbesondere wenn diese Funktion in Ihrer App nicht zentral ist.
Verwenden Sie diesen Code, um das PDF herunterzuladen und zu öffnen
}}
Damit die Absicht funktioniert, müssen Sie einen FileProvider erstellen , um der empfangenden App die Berechtigung zum Öffnen der Datei zu erteilen.
So implementieren Sie es: In Ihrem Manifest:
Erstellen Sie abschließend eine Datei file_paths.xml im Ressourcenordner
Hoffe das hilft =)
quelle
Verwenden Sie diesen Code:
quelle
Hier mit progressDialog laden. Müssen Sie WebClient geben, sonst erzwingt es das Öffnen im Browser:
quelle
Sie können das Mozilla pdf.js- Projekt verwenden. Grundsätzlich wird Ihnen das PDF angezeigt. Schauen Sie sich ihr Beispiel an .
Ich benutze es nur im Browser (Desktop und Mobile) und es funktioniert gut.
quelle
Eigentlich waren alle Lösungen ziemlich komplex und ich habe eine wirklich einfache Lösung gefunden (ich bin mir nicht sicher, ob sie für alle SDK-Versionen verfügbar ist). Das PDF-Dokument wird in einem Vorschaufenster geöffnet, in dem der Benutzer das Dokument anzeigen und speichern / freigeben kann:
(Kotlin)
quelle
Quellcode von hier herunterladen ( PDF in Webview Android öffnen )
activity_main.xml
MainActivity.java
quelle
Dies ist das tatsächliche Nutzungslimit , das Google zulässt, bevor Sie den in den Kommentaren genannten Fehler erhalten. Wenn es sich um ein einmaliges PDF handelt, das der Nutzer in der App öffnet, fühle ich mich absolut sicher. Obwohl empfohlen wird, den nativen Ansatz mit dem in Android integrierten Framework von Android 5.0 / Lollipop zu verfolgen, heißt es PDFRenderer .
quelle
quelle