Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
16 juillet 2025 | - | - | - | 1.0.0-alpha10 |
Déclarer des dépendances
Pour ajouter une dépendance sur pdf, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou de votre module :
Groovy
dependencies { implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha10" }
Kotlin
dependencies { implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha10") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Aucune note de version pour cet artefact.
Version 1.0
Version 1.0.0-alpha10
16 juillet 2025
Publication d'androidx.pdf:pdf-*:1.0.0-alpha10
. La version 1.0.0-alpha10 contient ces commits.
Nouvelles fonctionnalités
- Sélection améliorée permettant aux utilisateurs de sélectionner du texte sur plusieurs pages en faisant glisser les poignées de sélection au-delà des limites de la page.
- Les applications peuvent désormais intercepter et personnaliser la gestion des clics sur les liens hypertexte dans les documents PDF.
Modifications apportées à l'API
- Expose un composable pour présenter le contenu PDF (I8e7ee)
- Déplacement de
PdfPoint
etPdfRect
vers le packageandroidx.pdf.models
(I26cf4) - Expose un composant View pour présenter le contenu PDF (I9fe27)
- Expose l'API pour initialiser les ressources PDF à l'avance et réduire la latence de démarrage à froid (a18fa89)
- Expose l'API pour remplacer la gestion des clics sur les liens hypertexte dans le contenu PDF(6330a8b)
- Expose un nouvel artefact pdf-document-service et les API correspondantes :
PdfLoader
,PdfDocument
etSandboxedPdfLoader
. Les interfaces peuvent être utilisées pour implémenter le composant d'analyse et de traitement du document PDF (Ide70d). - Expose une API pour définir
PdfDocument
surPdfView
afin d'initialiser le rendu du document (If8738)
Version 1.0.0-alpha09
7 mai 2025
Publication d'androidx.pdf:pdf-*:1.0.0-alpha09
. La version 1.0.0-alpha09 contient ces commits.
Changements majeurs
- La base de code a été largement refactorisée et est désormais entièrement écrite en Kotlin, à l'aide de coroutines et de
ViewModel
. Cela inclut une réimplémentation dePdfViewerFragment
. Cette version n'inclut aucune nouvelle API ni fonctionnalité.
Problèmes connus :
- Les effets d'ombre sont manquants dans le sélecteur rapide et l'indicateur de page.
- Il est possible que les documents PDF d'une seule page ne soient pas toujours centrés ni mis à l'échelle de la largeur de la vue.
Modifications apportées à l'API
- Annotez la variable
containerStyleResId
avec@StyleRes
. (I88d85)
Version 1.0.0-alpha08
12 mars 2025
Publication d'androidx.pdf:pdf-document-service:1.0.0-alpha08
, androidx.pdf:pdf-viewer:1.0.0-alpha08
et androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08
. La version 1.0.0-alpha08 contient ces commits.
Correction de bugs
- Correction de l'emplacement incohérent du menu de sélection entre différents appareils Android en raison de différences de mise à l'échelle. L'emplacement du menu de sélection est désormais cohérent sur tous les appareils.
- Alignement de la position du sélecteur rapide et de l'indicateur de page lors de la recréation du fragment dans des scénarios tels que le changement de configuration, etc.
Version 1.0.0-alpha07
26 février 2025
Publication d'androidx.pdf:pdf-document-service:1.0.0-alpha07
, androidx.pdf:pdf-viewer:1.0.0-alpha07
et androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07
. La version 1.0.0-alpha07 contient ces commits.
Nouvelles fonctionnalités
PdfViewerFragment
est désormais compatible avecStylingOptions
(un ensemble d'ID de ressources de style), ce qui permet de personnaliser le style vianewInstance
ou XML (FragmentContainerView
). Les sous-classes peuvent utiliser le constructeur protégé pour une fonctionnalité similaire.StylingOptions
accepte actuellementcontainerStyle
, qui fournit les éléments suivants :- Prise en charge des drawables personnalisés pour la poignée de défilement rapide et l'indicateur de page.
- Attribut
marginEnd
pour un positionnement précis de la poignée de défilement rapide et de l'indicateur de page.
Modifications apportées à l'API
- Ajout d'attributs publics à partir de
PdfView
. (I30fc5) - Ajout de nouvelles API
StylingOptions
pour l'affichage des PDF. (Id2993)
Correction de bugs
- Correction d'une incohérence de synchronisation entre l'état de visibilité de la poignée de défilement rapide et de l'indicateur de page.
Version 1.0.0-alpha06
29 janvier 2025
Publication d'androidx.pdf:pdf-document-service:1.0.0-alpha06
, androidx.pdf:pdf-viewer:1.0.0-alpha06
et androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06
. La version 1.0.0-alpha06 contient ces commits.
Correction de bugs
- Correction : plantage causé par
IllegalArgumentException
lors de la dissociation d'un service non enregistré (eb4e85) - Correction : plantage
IllegalArgumentException
en raison d'une différence entremMaxPages
etnumPages
. (75d763)
Version 1.0.0-alpha05
11 décembre 2024
Publication d'androidx.pdf:pdf-document-service:1.0.0-alpha05
, androidx.pdf:pdf-viewer:1.0.0-alpha05
et androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05
. La version 1.0.0-alpha05 contient ces commits.
Correction de bugs
- Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont de type "type-use". Les développeurs Kotlin doivent utiliser l'argument de compilateur suivant pour garantir une utilisation correcte :
-Xjspecify-annotations=strict
(il s'agit de la valeur par défaut à partir de la version 2.1.0 du compilateur Kotlin). (I38301, b/326456246) - Correction de l'affichage de la page précédemment ouverte après une rotation dans Android 13. (Ib03dd)
- Correction de la disparition de la boîte à outils lors de la rotation. (01148f)
Version 1.0.0-alpha04
13 novembre 2024
Publication d'androidx.pdf:pdf-viewer:1.0.0-alpha04
et d'androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04
. La version 1.0.0-alpha04 contient ces commits.
Compatibilité étendue
- La bibliothèque
PDFViewer
est désormais compatible avec les versions S, T, U et V d'Android. Cette compatibilité améliorée est liée à la mise à jour de l'extension SDK 13.
Modifications apportées à l'API
- Ajout de la contrainte de
SdkExtension
minimum àPdfViewerFragment
. (I922af) - Exposition de nouvelles API pour la bibliothèque PDF Viewer. (I0af57)
Correction de bugs
- Correction d'un plantage lié à un problème d'arrêt du processus.
- Corrections de l'UI liées à la boîte de dialogue du mot de passe.
- Correction de problèmes d'accessibilité pour
findInFileView
etFastscrollView
.
Développement en cours
- Nous travaillons activement à l'intégration de Jetpack Compose dans la bibliothèque.
Version 1.0.0-alpha03
18 septembre 2024
Publication d'androidx.pdf:pdf-viewer:1.0.0-alpha03
et d'androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03
. La version 1.0.0-alpha03 contient ces commits.
Correction de bugs
- Résolution du problème lié au clavier qui ne s'affichait pas lors de la première ouverture de la recherche
- Corrections de l'UI liées à la police de la vue FindInFile.
- Correction de l'interface utilisateur pour la sélection de texte et la poignée de déplacement.
Problèmes connus
- Les images 3D des documents PDF ne sont pas affichées dans le lecteur.
PdfViewerFragment
présente des problèmes de performances sur les très grands documents PDF (> 250 Mo).
Version 1.0.0-alpha02
4 septembre 2024
Publication d'androidx.pdf:pdf-viewer:1.0.0-alpha02
et d'androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02
. La version 1.0.0-alpha02 contient ces commits.
Correction de bugs
- Le problème d'image PDF floue lors du passage du mode Portrait au mode Paysage et de la mise en veille de l'application a été résolu.
- Le menu "Rechercher dans les fichiers" conserve désormais le nombre de résultats même lorsque la configuration change.
- L'icône
FloatingActionButton
est désormais disponible pour les PDF d'une seule page. - Résolution des problèmes de chevauchement entre la barre "Rechercher dans le fichier" et
FloatingActionButton
. - Les annotations de texte et de surbrillance peuvent désormais être affichées dans le lecteur.
- Des améliorations ont été apportées à l'accessibilité de la barre "Rechercher dans le fichier".
- Des corrections ont été apportées à l'interface utilisateur pour la rotation, y compris la conservation du nombre de résultats, la résolution du problème de disparition du menu de sélection de texte et la résolution du problème de chevauchement du bouton d'action flottant.
- Correction du problème lié au masquage du menu "Rechercher dans le fichier" derrière le clavier en mode paysage.
Problèmes connus
- Les images 3D des documents PDF ne sont pas affichées dans le lecteur.
PdfViewerFragment
présente des problèmes de performances sur les très grands documents PDF (> 250 Mo).
Version 1.0.0-alpha01
7 août 2024
Publication d'androidx.pdf:pdf-viewer:1.0.0-alpha01
et d'androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01
. La version 1.0.0-alpha01 contient ces commits.
Nouvelles fonctionnalités
La première version alpha de PDFViewer
inclut des implémentations en preview anticipée qui permettent les principaux scénarios de lecture de PDF. Veuillez noter que PdfViewerFragment
n'est actuellement compatible qu'avec les versions Android V (SDK 35). La compatibilité avec les anciennes versions d'Android sera ajoutée dans les prochaines versions.
- Introduction de
PdfViewerFragment
que votre application peut utiliser pour afficher un document PDF.PdfViewerFragment
simplifie l'intégration d'une visionneuse de PDF dans votre activité et permet aux utilisateurs d'interagir de différentes manières :- Zoom : pincez l'écran pour faire un zoom avant ou arrière et ajuster le niveau de zoom pour une lecture confortable. Vous pouvez également appuyer deux fois pour faire un zoom avant ou arrière rapide et revenir à l'état par défaut.
- Navigation : faites défiler l'écran dans l'état par défaut/zoomé.
PdfViewerFragment
fournit un sélecteur rapide pour faire défiler rapidement les pages. - Actions sur le texte : un appui prolongé sur du texte le sélectionne, ce qui permet aux utilisateurs d'utiliser des options telles que "Copier" et "Tout sélectionner" sur la page actuelle.
- Documents protégés par mot de passe :
PdfViewerFragment
affiche une boîte de dialogue permettant à l'utilisateur de saisir le mot de passe et d'ouvrir le document. - Liens hypertexte permettant la navigation : les utilisateurs peuvent accéder à des URL Web ou à des favoris en appuyant sur des liens hypertexte dans le PDF.
- Raccourci vers le mode Annotations : le mode Édition n'est pas encore disponible dans
PdfViewerFragment
. Au lieu de cela,PdfViewerFragment
affiche unFloatingActionButton
qui déclenche un intentandroid.intent.action.ANNOTATE
implicite avec l'URI du document.
Modifications apportées à l'API
- Ajout de la propriété
PdfViewerFragment.documentUri
pour définir un URI de fichier ou de contenu pour le document et lancer le chargement du document.PdfViewerFragment
affiche une icône de chargement lorsque l'URI est défini, ce qui indique le traitement en arrière-plan du document. - Ajout de
PdfViewerFragment.isTextSearchActive
pour activer/désactiver la visibilité du menu "Rechercher dans le fichier".PdfViewerFragment
gère l'intégralité du flux, ce qui permet de saisir des informations, d'afficher le nombre total de correspondances, de naviguer entre les résultats et de quitter le flux. - Ajout des rappels
onDocumentLoadSuccess
etonDocumentLoadError
, qui sont appelés après le rendu réussi du document ou après le déclenchement d'une erreur avant le rendu.
Problèmes connus
- Dans certains cas, la barre "Rechercher dans le fichier" se chevauche avec
FloatingActionButton
. - L'icône
FloatingActionButton
n'est pas visible pour les PDF d'une seule page. - Le nombre de résultats n'est pas conservé lors d'un changement de configuration dans le menu "Rechercher dans les fichiers".
- Des scintillements sont observés lors de la fermeture du menu "Rechercher dans le fichier"
- Les images 3D des documents PDF ne sont pas affichées dans le lecteur.
- Les fonctionnalités d'accessibilité seront activées dans les prochaines versions.
- L'image PDF devient floue lorsque vous passez du mode Portrait au mode Paysage.
- Les annotations de texte/surlignage ne sont pas acceptées.
PdfViewerFragment
présente des problèmes de performances sur les très grands documents PDF (> 250 Mo).
Commentaire
- Mise à jour de
compileSdk
vers 35 5dc41be