pdf

  
Una libreria per aggiungere funzionalità di visualizzazione dei PDF all'interno delle app.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
16 luglio 2025 - - - 1.0.0-alpha10

Dichiarazione di dipendenze

Per aggiungere una dipendenza da PDF, devi aggiungere il Repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    implementation "androidx.pdf:pdf-viewer-fragment:1.0.0-alpha10"
}

Kotlin

dependencies {
    implementation("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha10")
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Non sono disponibili note di rilascio per questo artefatto.

Versione 1.0

Versione 1.0.0-alpha10

16 luglio 2025

androidx.pdf:pdf-*:1.0.0-alpha10 viene ritirata. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • Selezione avanzata che consente agli utenti di selezionare il testo su più pagine trascinando i punti di manipolazione della selezione oltre i limiti della pagina.
  • Le applicazioni ora possono intercettare e personalizzare la gestione dei clic sui link ipertestuali all'interno dei documenti PDF.

Modifiche alle API

  • Espone un elemento componibile per la presentazione di contenuti PDF (I8e7ee)
  • Spostamento di PdfPoint e PdfRect nel pacchetto androidx.pdf.models (I26cf4)
  • Espone un componente View per la presentazione di contenuti PDF (I9fe27)
  • Espone l'API per inizializzare in anticipo le risorse PDF e ridurre la latenza di avvio a freddo (a18fa89)
  • Espone l'API per ignorare la gestione dei clic sui link ipertestuali nei contenuti PDF(6330a8b)
  • Espone un nuovo artefatto pdf-document-service e le API corrispondenti: PdfLoader, PdfDocument e SandboxedPdfLoader. Le interfacce possono essere utilizzate per implementare il componente di analisi ed elaborazione del documento PDF (Ide70d).
  • Espone un'API per impostare PdfDocument su PdfView per inizializzare il rendering del documento (If8738)

Versione 1.0.0-alpha09

7 maggio 2025

androidx.pdf:pdf-*:1.0.0-alpha09 viene ritirata. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche principali

  • Il codebase è stato sottoposto a un importante refactoring ed è ora scritto interamente in Kotlin, utilizzando le coroutine e ViewModel. Ciò include una nuova implementazione di PdfViewerFragment. Questa release non include nuove API o funzionalità.

Problemi noti:

  • Lo scorrimento rapido e l'indicatore di pagina non hanno effetti ombra.
  • I documenti PDF di una sola pagina potrebbero non essere sempre centrati e scalati in base alla larghezza della visualizzazione.

Modifiche alle API

  • Annota containerStyleResId con @StyleRes. (I88d85)

Versione 1.0.0-alpha08

12 marzo 2025

androidx.pdf:pdf-document-service:1.0.0-alpha08, androidx.pdf:pdf-viewer:1.0.0-alpha08 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08 sono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.

Correzioni di bug

  • È stato risolto il posizionamento incoerente del menu di selezione tra diversi dispositivi Android a causa delle differenze di scalabilità. Il posizionamento del menu di selezione è ora coerente su tutti i dispositivi.
  • Allineamento della posizione della barra di scorrimento rapido e dell'indicatore di pagina durante la ricreazione dei frammenti in scenari come la modifica della configurazione e così via.

Versione 1.0.0-alpha07

26 febbraio 2025

androidx.pdf:pdf-document-service:1.0.0-alpha07, androidx.pdf:pdf-viewer:1.0.0-alpha07 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07 sono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • PdfViewerFragment ora supporta StylingOptions (un insieme di ID risorse di stile) che consente di personalizzare lo stile tramite newInstance o XML (FragmentContainerView). Le sottoclassi possono utilizzare il costruttore protetto per funzionalità simili.
  • StylingOptions attualmente riceve containerStyle, che fornisce:
    • Supporto di risorse disegnabili personalizzate per la maniglia di scorrimento rapido e l'indicatore di pagina.
    • Attributo marginEnd per il posizionamento preciso del cursore di scorrimento rapido e dell'indicatore di pagina.

Modifiche alle API

  • Aggiunti attributi pubblici da PdfView (I30fc5)
  • Sono state aggiunte nuove API StylingOptions per la visualizzazione dei PDF. (Id2993)

Correzioni di bug

  • È stata corretta la discrepanza di sincronizzazione tra il cursore di scorrimento rapido e lo stato di visibilità dell'indicatore di pagina.

Versione 1.0.0-alpha06

29 gennaio 2025

androidx.pdf:pdf-document-service:1.0.0-alpha06, androidx.pdf:pdf-viewer:1.0.0-alpha06 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06 sono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.

Correzioni di bug

  • Correzione: arresto anomalo causato da IllegalArgumentException durante l'annullamento del binding di un servizio non registrato (eb4e85)
  • Correzione: arresto anomalo di IllegalArgumentException dovuto alla differenza tra mMaxPages e numPages. (75d763)

Versione 1.0.0-alpha05

11 dicembre 2024

androidx.pdf:pdf-document-service:1.0.0-alpha05, androidx.pdf:pdf-viewer:1.0.0-alpha05 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05 sono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.

Correzioni di bug

  • Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre l'utilizzo corretto: -Xjspecify-annotations=strict (questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (I38301, b/326456246)
  • È stato risolto il problema della visualizzazione della pagina aperta in precedenza dopo la rotazione in Android 13. (Ib03dd)
  • È stato risolto il problema della scomparsa della casella degli strumenti durante la rotazione. (01148f)

Versione 1.0.0-alpha04

13 novembre 2024

androidx.pdf:pdf-viewer:1.0.0-alpha04 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04 sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Compatibilità estesa

  • La libreria PDFViewer ora supporta le versioni S, T, U e V di Android. Questa maggiore compatibilità è collegata all'aggiornamento dell'estensione SDK 13.

Modifiche alle API

  • Aggiunta del vincolo minimo SdkExtension a PdfViewerFragment. (I922af)
  • Esposizione di nuove API per la libreria del visualizzatore PDF. (I0af57)

Correzioni di bug

  • Correzione dell'arresto anomalo per il problema di interruzione del processo.
  • Correzioni dell'interfaccia utente relative alla finestra di dialogo della password.
  • Correzioni relative all'accessibilità per findInFileView e FastscrollView.

Sviluppo continuo

  • Stiamo lavorando attivamente per incorporare Jetpack Compose nella libreria.

Versione 1.0.0-alpha03

18 settembre 2024

androidx.pdf:pdf-viewer:1.0.0-alpha03 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03 sono stati rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Correzioni di bug

  • Risolto il problema della tastiera che non viene visualizzata quando la ricerca viene aperta per la prima volta
  • Correzioni dell'interfaccia utente relative al carattere della visualizzazione Trova in file.
  • Correzioni della UI per la selezione del testo e il punto di manipolazione di trascinamento.

Problemi noti

  • Le immagini 3D nei documenti PDF non vengono visualizzate nel visualizzatore.
  • PdfViewerFragment presenta alcuni problemi di prestazioni su documenti PDF molto grandi (> 250 MB)

Versione 1.0.0-alpha02

4 settembre 2024

androidx.pdf:pdf-viewer:1.0.0-alpha02 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema dell'immagine PDF sfocata quando si ruota da verticale a orizzontale e l'app va in sospensione.
  • Il menu Trova nel file ora mantiene il conteggio dei risultati anche quando la configurazione cambia.
  • L'icona FloatingActionButton è ora disponibile per i PDF di una sola pagina.
  • Sono stati risolti i problemi di sovrapposizione tra la barra Trova nel file e FloatingActionButton.
  • Ora le annotazioni di testo ed evidenziazione possono essere visualizzate nel visualizzatore.
  • Sono stati apportati miglioramenti all'accessibilità della barra Trova nel file.
  • Sono state implementate correzioni dell'interfaccia utente per la rotazione, tra cui la conservazione del conteggio delle ricerche, la risoluzione del problema del menu di selezione del testo che scompare e la risoluzione del problema di sovrapposizione del pulsante di azione rapida.
  • È stato risolto il problema del menu Trova nel file nascosto dietro la tastiera in modalità Orizzontale.

Problemi noti

  • Le immagini 3D nei documenti PDF non vengono visualizzate nel visualizzatore.
  • PdfViewerFragment presenta alcuni problemi di prestazioni su documenti PDF molto grandi (> 250 MB)

Versione 1.0.0-alpha01

7 agosto 2024

androidx.pdf:pdf-viewer:1.0.0-alpha01 e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01 sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

La versione alpha iniziale di PDFViewer include implementazioni di anteprima che consentono scenari di lettura di PDF di base. Tieni presente che PdfViewerFragment è attualmente supportato solo sulle versioni Android V (SDK 35). Il supporto per le versioni precedenti di Android verrà aggiunto nelle release future.

  • È stato introdotto PdfViewerFragment, che la tua app può utilizzare per eseguire il rendering di un documento PDF. PdfViewerFragment semplifica l'integrazione di un visualizzatore PDF nell'attività e consente agli utenti di interagire nei seguenti modi:
    • Zoom: pizzica per aumentare e diminuire lo zoom e regolare i livelli di zoom per un'esperienza di lettura confortevole. Tocca due volte per aumentare e diminuire rapidamente lo zoom allo stato predefinito.
    • Navigazione: scorri nello stato predefinito/con zoom. PdfViewerFragment fornisce un cursore rapido per scorrere velocemente tra le pagine.
    • Azioni sul testo: se tieni premuto a lungo sul testo, questo viene selezionato, consentendo agli utenti di utilizzare opzioni come Copia e Seleziona tutto nella pagina corrente.
    • Documenti protetti da password: PdfViewerFragment fornisce una finestra di dialogo in cui l'utente può inserire la password e aprire il documento.
    • Link ipertestuali navigabili: gli utenti possono navigare verso URL web o preferiti toccando i link ipertestuali all'interno del PDF.
    • Scorciatoia per la modalità Annotazioni: la modalità di modifica non è ancora supportata in PdfViewerFragment. PdfViewerFragment mostra invece un FloatingActionButton che attiva un intent android.intent.action.ANNOTATE implicito con l'URI del documento.

Modifiche alle API

  • È stata aggiunta la proprietà PdfViewerFragment.documentUri per impostare un URI di file o contenuti per il documento e avviare il caricamento del documento. PdfViewerFragment mostra un indicatore di caricamento quando l'URI è impostato, indicando l'elaborazione in background del documento.
  • Aggiunta l'opzione PdfViewerFragment.isTextSearchActive per attivare/disattivare la visibilità del menu Trova nel file. PdfViewerFragment gestisce l'intero flusso, consentendo l'inserimento, la visualizzazione del numero totale di corrispondenze, la navigazione tra i risultati e l'uscita.
  • Sono stati aggiunti i callback onDocumentLoadSuccess e onDocumentLoadError, che vengono richiamati dopo il rendering riuscito del documento o dopo la generazione di un errore prima del rendering.

Problemi noti

  • La barra Trova nel file si sovrappone a FloatingActionButton in alcuni casi.
  • L'icona FloatingActionButton non è visibile per i PDF di una sola pagina.
  • Il conteggio dei risultati non viene mantenuto in caso di modifica della configurazione nel menu Trova nel file.
  • Sfarfallio durante la chiusura del menu Trova nel file
  • Le immagini 3D nei documenti PDF non vengono visualizzate nel visualizzatore.
  • Le funzionalità di accessibilità verranno abilitate nelle release successive.
  • L'immagine PDF diventa sfocata quando viene ruotata da verticale a orizzontale.
  • Nessun supporto per l'annotazione di testo/evidenziazione.
  • PdfViewerFragment presenta alcuni problemi di prestazioni su documenti PDF molto grandi (> 250 MB)

Note

  • Aggiornamento di compileSdk alla versione 35 5dc41be