Android ne prend pas en charge PDF dans ses bibliothèques. Existe-t-il un moyen de rendre des fichiers PDF dans les applications Android?
java
android
pdf
android-pdf-api
alexleutgoeb
la source
la source
Réponses:
Depuis l'API niveau 21 (Lollipop), Android fournit une classe PdfRenderer :
Pour plus d'informations, consultez l' exemple d'application .
Pour les anciennes API, je recommande la bibliothèque Android PdfViewer , elle est très rapide et facile à utiliser, sous licence Apache License 2.0:
la source
PDFView Library
? Que faut-il y mettrepdfName
? Que signifient les fonctionsonDraw
,onLoad
etonPageChange
regarder auditeur comme? Merci pour votre aide :)Tiré de mon blog:
la source
J'ai fait une approche hybride à partir de certaines des réponses données à ce poste et à d'autres postes similaires:
Cette solution vérifie si une application de lecteur PDF est installée et effectue les opérations suivantes: - Si un lecteur est installé, téléchargez le fichier PDF sur l'appareil et démarrez une application de lecteur PDF - Si aucun lecteur n'est installé, demandez à l'utilisateur s'il souhaite afficher le fichier PDF en ligne via Google Drive
REMARQUE! Cette solution utilise la
DownloadManager
classe Android , qui a été introduite dans API9 (Android 2.3 ou Gingerbread). Cela signifie que cela ne fonctionne pas sur Android 2.2 ou version antérieure.J'ai écrit un blog à ce sujet ici , mais j'ai fourni le code complet ci-dessous pour être complet:
la source
Téléchargez le code source ici ( Afficher le fichier PDF dans mon application Android )
Ajoutez cette dépendance dans votre note: compilez 'com.github.barteksc: android-pdf-viewer: 2.0.3'
activity_main.xml
MainActivity.java
la source
assetFileName
fichier pdf devrait exister dans leassets
dossierJ'ai enfin pu modifier le code de Butelo pour ouvrir n'importe quel fichier PDF dans le système de fichiers Android en utilisant
pdf.js
. Le code peut être trouvé sur mon GitHubCe que j'ai fait a été modifié
pdffile.js
pour lire l'argument HTMLfile
comme ceci:Donc, ce que vous devez faire, c'est simplement ajouter le chemin du fichier après la
index.html
ceci:Mettez à jour la
path
variable pour pointer vers un PDF valide dans le système de fichiers Adroid.la source
vous pouvez utiliser une méthode simple par importation
et le code XML est
et simplement déclarer et ajouter un fichier dans un dossier d'actifs et simplement attribuer le nom
la source
PdfiumAndroid
qui elle-même est déjà 18.4MBagl.pdf
fichier doit exister dans leassets
dossierPour ajouter un peu de lumière à cela, il faudrait que j'aille avec la solution pdf.js de Mozilla. Voici le lien vers une implémentation déjà bien écrite de ceci: https://bitbucket.org/butelo/pdfviewer/ .
Voici les modifications que j'ai ajoutées dans mon activité Android:
Voici les modifications que j'ai apportées à
pdffile.js
:la source
J'ai utilisé le code ci-dessous pour ouvrir et imprimer le PDF en utilisant le Wi-Fi. J'envoie tout mon code et j'espère qu'il vous sera utile.
la source
Il n'y a aucun moyen de prévisualiser le document pdf dans la vue Web Android.Si vous souhaitez prévisualiser le pdf base64. Il nécessite une bibliothèque tierce.
build.Gradle
dialog_pdf_viewer
DailogPDFViewer.java
la source