pdf

  
Biblioteca para agregar capacidades de visualización de PDF dentro de las apps.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
16 de julio de 2025 - - - 1.0.0-alpha10

Cómo declarar dependencias

Para agregar una dependencia en PDF, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

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

Kotlin

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

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

No hay notas de la versión para este artefacto.

Versión 1.0

Versión 1.0.0-alpha10

16 de julio de 2025

Lanzamiento de androidx.pdf:pdf-*:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Nuevas funciones

  • Selección mejorada que permite a los usuarios seleccionar texto en varias páginas arrastrando los controladores de selección más allá de los límites de la página
  • Ahora las aplicaciones pueden interceptar y personalizar el control de los clics en hipervínculos dentro de documentos PDF.

Cambios en la API

  • Expone un elemento Composable para presentar contenido en PDF (I8e7ee)
  • Se transfirieron PdfPoint y PdfRect al paquete androidx.pdf.models (I26cf4).
  • Expone un componente View para presentar contenido en PDF (I9fe27)
  • Se expone la API para inicializar los recursos de PDF con anticipación y reducir la latencia de inicio en frío (a18fa89).
  • Se expone la API para anular el control de clics en hipervínculos en contenido de PDF(6330a8b).
  • Se expone un nuevo artefacto pdf-document-service y las APIs correspondientes: PdfLoader, PdfDocument y SandboxedPdfLoader. Las interfaces se pueden usar para implementar el componente de análisis y procesamiento del documento PDF (Ide70d).
  • Expone una API para establecer PdfDocument en PdfView para inicializar la renderización del documento (If8738).

Versión 1.0.0-alpha09

7 de mayo de 2025

Lanzamiento de androidx.pdf:pdf-*:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Cambios importantes

  • La base de código se sometió a una refactorización importante y ahora está escrita completamente en Kotlin, con el uso de corrutinas y ViewModel. Esto incluye una reimplementación de PdfViewerFragment. Esta versión no incluye APIs ni funciones nuevas.

Problemas conocidos:

  • El desplazamiento rápido y el indicador de página no tienen efectos de sombra.
  • Es posible que los documentos PDF de una sola página no siempre estén centrados y escalados al ancho de la vista.

Cambios en la API

  • Anota containerStyleResId con @StyleRes. (I88d85)

Versión 1.0.0-alpha08

12 de marzo de 2025

Lanzamiento de androidx.pdf:pdf-document-service:1.0.0-alpha08, androidx.pdf:pdf-viewer:1.0.0-alpha08 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Correcciones de errores

  • Se resolvió la ubicación incoherente del menú de selección entre diferentes dispositivos Android debido a las diferencias de escalamiento. La ubicación del menú de selección ahora es coherente en todos los dispositivos.
  • Se alinearon la posición del indicador de página y el desplazamiento rápido en la recreación de fragmentos en situaciones como cambios de configuración, etcétera.

Versión 1.0.0-alpha07

26 de febrero de 2025

Lanzamiento de androidx.pdf:pdf-document-service:1.0.0-alpha07, androidx.pdf:pdf-viewer:1.0.0-alpha07 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • El PdfViewerFragment ahora admite StylingOptions (un conjunto de IDs de recursos de diseño) que permite el diseño personalizado a través de newInstance o XML (FragmentContainerView). Las subclases pueden utilizar el constructor protegido para una funcionalidad similar.
  • Actualmente, StylingOptions recibe containerStyle, que proporciona lo siguiente:
    • Se admite un elemento de diseño personalizado para el controlador de desplazamiento rápido y el indicador de página.
    • Atributo marginEnd para el posicionamiento preciso del controlador de desplazamiento rápido y el indicador de página.

Cambios en la API

  • Se agregaron atributos públicos de PdfView (I30fc5).
  • Se agregaron nuevas APIs StylingOptions para la vista de PDF. (Id2993)

Correcciones de errores

  • Se corrigió la discrepancia de sincronización entre el controlador de desplazamiento rápido y el estado de visibilidad del indicador de página.

Versión 1.0.0-alpha06

29 de enero de 2025

Lanzamiento de androidx.pdf:pdf-document-service:1.0.0-alpha06, androidx.pdf:pdf-viewer:1.0.0-alpha06 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Correcciones de errores

  • Corrección: Se corrigió la falla causada por IllegalArgumentException cuando se desvincula un servicio que no está registrado (eb4e85).
  • Se corrigió la falla de IllegalArgumentException debido a la diferencia entre mMaxPages y numPages. (75d763)

Versión 1.0.0-alpha05

11 de diciembre de 2024

Lanzamiento de androidx.pdf:pdf-document-service:1.0.0-alpha05, androidx.pdf:pdf-viewer:1.0.0-alpha05 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Correcciones de errores

  • Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deberían usar el siguiente argumento del compilador para aplicar el uso correcto: -Xjspecify-annotations=strict (este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (I38301, b/326456246)
  • Se corrigió el problema por el que se mostraba la página abierta anteriormente después de la rotación en Android 13. (Ib03dd)
  • Se corrigió la desaparición de la caja de herramientas al rotar el dispositivo. (01148f)

Versión 1.0.0-alpha04

13 de noviembre de 2024

Lanzamiento de androidx.pdf:pdf-viewer:1.0.0-alpha04 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Compatibilidad expandida

  • La biblioteca PDFViewer ahora admite las versiones S, T, U y V de Android. Esta compatibilidad mejorada está vinculada a la actualización de la extensión del SDK 13.

Cambios en la API

  • Se agregó la restricción mínima SdkExtension a PdfViewerFragment. (I922af)
  • Se exponen nuevas APIs para la biblioteca del Visor de PDF. (I0af57)

Correcciones de errores

  • Se corrigió una falla relacionada con el cierre del proceso.
  • Se corrigieron problemas de la IU relacionados con el diálogo de contraseñas.
  • Se corrigieron problemas de accesibilidad en findInFileView y FastscrollView.

Desarrollo en curso

  • Estamos trabajando de forma activa para incorporar Jetpack Compose a la biblioteca.

Versión 1.0.0-alpha03

18 de septiembre de 2024

Lanzamiento de androidx.pdf:pdf-viewer:1.0.0-alpha03 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Correcciones de errores

  • Se resolvió el problema por el que no aparecía el teclado cuando se abría la búsqueda por primera vez.
  • Se corrigieron errores de la IU relacionados con la fuente de la vista FindInFile.
  • Se corrigieron errores de la IU relacionados con la selección de texto y el controlador de arrastre.

Errores conocidos

  • Las imágenes en 3D de los documentos PDF no se renderizan en el visor.
  • PdfViewerFragment tiene algunos problemas de rendimiento en documentos PDF muy grandes (más de 250 MB).

Versión 1.0.0-alpha02

4 de septiembre de 2024

Lanzamiento de androidx.pdf:pdf-viewer:1.0.0-alpha02 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se resolvió el problema de la imagen PDF borrosa cuando se rota de vertical a horizontal y la app entra en suspensión.
  • El menú de búsqueda en el archivo ahora mantiene el recuento de resultados incluso cuando cambia la configuración.
  • El ícono FloatingActionButton ahora está disponible para los PDFs de una sola página.
  • Se corrigieron los problemas de superposición entre la barra Buscar en el archivo y FloatingActionButton.
  • Ahora se pueden renderizar las anotaciones de texto y de resaltado en el visor.
  • Se realizaron mejoras de accesibilidad en la barra Buscar en el archivo.
  • Se implementaron correcciones en la IU para la rotación, incluida la conservación del recuento de búsqueda, la solución del problema del menú de selección de texto que desaparece y la resolución del problema de superposición del FAB.
  • Se corrigió el problema del menú de búsqueda en el archivo que se oculta detrás del teclado en modo horizontal.

Errores conocidos

  • Las imágenes en 3D de los documentos PDF no se renderizan en el visor.
  • PdfViewerFragment tiene algunos problemas de rendimiento en documentos PDF muy grandes (más de 250 MB).

Versión 1.0.0-alpha01

7 de agosto de 2024

Lanzamiento de androidx.pdf:pdf-viewer:1.0.0-alpha01 y androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

La versión alfa inicial de PDFViewer incluye implementaciones preliminares que habilitan situaciones de lectura de PDF básicas. Ten en cuenta que, actualmente, PdfViewerFragment solo se admite en las versiones de Android V (SDK 35). En próximas versiones, se agregará compatibilidad con versiones anteriores de Android.

  • Se introdujo PdfViewerFragment, que tu app puede usar para renderizar un documento PDF. PdfViewerFragment simplifica la integración de un visor de PDF en tu actividad y permite que los usuarios interactúen de las siguientes maneras:
    • Zoom: Pellizca para acercar y alejar la imagen y ajustar los niveles de zoom para disfrutar de una experiencia de lectura cómoda. También puedes tocar dos veces para acercar o alejar rápidamente la imagen al estado predeterminado.
    • Navegación: Desplázate en el estado predeterminado o con zoom. PdfViewerFragment proporciona un control deslizante rápido para desplazarse rápidamente entre las páginas.
    • Acciones de texto: Si mantienes presionado el texto, se selecciona, lo que permite a los usuarios usar opciones como Copiar y Seleccionar todo en la página actual.
    • Documentos protegidos con contraseña: PdfViewerFragment proporciona un cuadro de diálogo para que el usuario ingrese la contraseña y abra el documento.
    • Hipervínculos navegables: Los usuarios pueden navegar a URLs web o favoritos presionando los hipervínculos dentro del PDF.
    • Atajo al modo de anotaciones: Aún no se admite el modo de edición en PdfViewerFragment. En cambio, PdfViewerFragment muestra un FloatingActionButton que activa un intent android.intent.action.ANNOTATE implícito con el URI del documento.

Cambios en la API

  • Se agregó la propiedad PdfViewerFragment.documentUri para establecer un URI de archivo o contenido para el documento y, luego, iniciar la carga del documento. PdfViewerFragment muestra un ícono giratorio de carga cuando se configura el URI, lo que indica el procesamiento en segundo plano del documento.
  • Se agregó PdfViewerFragment.isTextSearchActive para activar o desactivar la visibilidad del menú de búsqueda en el archivo. PdfViewerFragment controla todo el flujo, lo que permite ingresar datos, mostrar la cantidad total de coincidencias, habilitar la navegación entre los resultados y salir de ellos.
  • Se agregaron devoluciones de llamada onDocumentLoadSuccess y onDocumentLoadError que se invocan después de la renderización correcta del documento o después de que se arroja un error antes de la renderización.

Errores conocidos

  • En algunos casos, la barra de búsqueda en el archivo se superpone con el FloatingActionButton.
  • El ícono FloatingActionButton no se muestra en los PDFs de una sola página.
  • El recuento de resultados no se conserva en el cambio de configuración del menú de búsqueda en el archivo.
  • Se observa parpadeo al cerrar el menú de búsqueda en el archivo
  • Las imágenes en 3D de los documentos PDF no se renderizan en el visor.
  • Las funciones de accesibilidad se habilitarán en las siguientes versiones.
  • La imagen del PDF se desenfoca cuando se rota de vertical a horizontal.
  • No se admite la anotación de texto o resaltado.
  • PdfViewerFragment tiene algunos problemas de rendimiento en documentos PDF muy grandes (más de 250 MB).

Nota

  • Actualiza compileSdk a 35 5dc41be