Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
16 de julho de 2025 | - | - | - | 1.0.0-alpha10 |
Declarar dependências
Para adicionar uma dependência a pdf, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou 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 mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Não há notas de versão para este artefato.
Versão 1.0
Versão 1.0.0-alpha10
16 de julho de 2025
Lançamento de androidx.pdf:pdf-*:1.0.0-alpha10
. A versão 1.0.0-alpha10 contém estas confirmações.
Novos recursos
- Seleção aprimorada que permite aos usuários selecionar texto em várias páginas arrastando as alças de seleção além dos limites da página.
- Agora, os aplicativos podem interceptar e personalizar o processamento de cliques em hiperlinks em documentos PDF.
Mudanças na API
- Expõe um elemento combinável para apresentar conteúdo em PDF (I8e7ee).
- Movendo
PdfPoint
ePdfRect
para o pacoteandroidx.pdf.models
(I26cf4) - Expõe um componente View para apresentar conteúdo em PDF (I9fe27)
- Expõe a API para inicializar recursos de PDF com antecedência e reduzir a latência de inicialização a frio (a18fa89)
- Expõe a API para substituir o processamento de cliques em hiperlinks no conteúdo PDF(6330a8b)
- Expõe um novo artefato pdf-document-service e as APIs correspondentes:
PdfLoader
,PdfDocument
eSandboxedPdfLoader
. As interfaces podem ser usadas para implementar o componente de análise e processamento do documento PDF (Ide70d). - Expõe uma API para definir
PdfDocument
emPdfView
para inicializar a renderização do documento (If8738)
Versão 1.0.0-alpha09
7 de maio de 2025
Lançamento de androidx.pdf:pdf-*:1.0.0-alpha09
. A versão 1.0.0-alpha09 contém estas confirmações.
Principais mudanças
- A base de código passou por uma grande refatoração e agora está totalmente escrita em Kotlin, usando corrotinas e
ViewModel
. Isso inclui uma reimplementação doPdfViewerFragment
. Esta versão não inclui novas APIs nem recursos.
Problemas conhecidos:
- O rolador rápido e o indicador de página não têm efeitos de sombra.
- Documentos PDF de uma única página nem sempre são centralizados e dimensionados para a largura da visualização.
Mudanças na API
- Inclua a anotação
@StyleRes
nacontainerStyleResId
. (I88d85).
Versão 1.0.0-alpha08
12 de março de 2025
Lançamento de 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
. A versão 1.0.0-alpha08 contém estas confirmações.
Correções de bugs
- Foi resolvido o posicionamento inconsistente do menu de seleção entre diferentes dispositivos Android devido a diferenças de escalonamento. O posicionamento do menu de seleção agora é consistente em todos os dispositivos.
- Alinhamos a posição do rolador rápido e do indicador de página na recriação de fragmentos em cenários como mudança de configuração etc.
Versão 1.0.0-alpha07
26 de fevereiro de 2025
Lançamento de 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
. A versão 1.0.0-alpha07 contém estas confirmações.
Novos recursos
- O
PdfViewerFragment
agora oferece suporte aStylingOptions
(um conjunto de IDs de recursos de estilo), permitindo a estilização personalizada vianewInstance
ou XML (FragmentContainerView
). As subclasses podem usar o construtor protegido para uma funcionalidade semelhante. - No momento, o
StylingOptions
usacontainerStyle
, que oferece:- Suporte a elementos gráficos personalizados para o controle de rolagem rápida e o indicador de página.
- Atributo
marginEnd
para posicionamento preciso da alça de rolagem rápida e do indicador de página.
Mudanças na API
- Adição de atributos públicos de
PdfView
(I30fc5) - Adição de novas APIs
StylingOptions
para visualização de PDF. (Id2993)
Correções de bugs
- Correção da discrepância de sincronização entre a alça de rolagem rápida e o estado de visibilidade do indicador de página.
Versão 1.0.0-alpha06
29 de janeiro de 2025
Lançamento de 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
. A versão 1.0.0-alpha06 contém estas confirmações.
Correções de bugs
- Correção: falha causada por
IllegalArgumentException
ao desvincular um serviço não registrado (eb4e85). - Correção: falha
IllegalArgumentException
devido à diferença emmMaxPages
enumPages
. (75d763)
Versão 1.0.0-alpha05
11 de dezembro de 2024
Lançamento de 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
. A versão 1.0.0-alpha05 contém estas confirmações.
Correções de bugs
- Agora, essa biblioteca usa anotações de nulidade do JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para garantir o uso correto:
-Xjspecify-annotations=strict
(esse é o padrão a partir da versão 2.1.0 do compilador Kotlin). (I38301, b/326456246) - Correção do problema em que a página aberta anteriormente era exibida após a rotação no Android 13. (Ib03dd).
- A caixa de ferramentas não desaparece mais ao girar a tela. (01148f)
Versão 1.0.0-alpha04
13 de novembro de 2024
Lançamento de androidx.pdf:pdf-viewer:1.0.0-alpha04
e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Compatibilidade expandida
- A biblioteca
PDFViewer
agora é compatível com as versões S, T, U e V do Android. Essa compatibilidade aprimorada está vinculada à atualização da extensão do SDK 13.
Mudanças na API
- Adicionada restrição mínima de
SdkExtension
aPdfViewerFragment
. (I922af). - Exposição de novas APIs para a biblioteca do visualizador de PDF. (I0af57).
Correções de bugs
- Correção de falha para o problema de encerramento do processo.
- Correções na interface relacionadas à caixa de diálogo de senha.
- Correções de acessibilidade para
findInFileView
eFastscrollView
.
Desenvolvimento contínuo
- Estamos trabalhando para incorporar o Jetpack Compose à biblioteca.
Versão 1.0.0-alpha03
18 de setembro de 2024
Lançamento de androidx.pdf:pdf-viewer:1.0.0-alpha03
e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Correções de bugs
- O problema de o teclado não aparecer quando a pesquisa é aberta pela primeira vez foi resolvido.
- Correções na interface relacionadas à fonte da visualização "FindInFile".
- Correções na interface para seleção de texto e alça de arrastar.
Problemas conhecidos
- Imagens 3D em documentos PDF não são renderizadas no visualizador.
PdfViewerFragment
tem alguns problemas de desempenho em documentos PDF muito grandes (> 250 MB)
Versão 1.0.0-alpha02
4 de setembro de 2024
Lançamento de androidx.pdf:pdf-viewer:1.0.0-alpha02
e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Correções de bugs
- O problema de imagem desfocada do PDF ao girar da orientação retrato para paisagem e o app entrar em modo inativo foi resolvido.
- O menu "Encontrar no arquivo" agora mantém a contagem de resultados mesmo quando a configuração muda.
- O ícone
FloatingActionButton
agora está disponível para PDFs de uma página. - Foram corrigidos problemas de sobreposição entre a barra "Encontrar no arquivo" e o
FloatingActionButton
. - Agora, as anotações de texto e destaque podem ser renderizadas no visualizador.
- Fizemos melhorias de acessibilidade na barra "Encontrar no arquivo".
- Foram implementadas correções na interface para rotação, incluindo a preservação da contagem de resultados, a correção do menu de seleção de texto que desaparecia e a resolução do problema de sobreposição do botão de ação flutuante.
- O menu "Encontrar no arquivo" que ficava escondido atrás do teclado no modo paisagem foi corrigido.
Problemas conhecidos
- Imagens 3D em documentos PDF não são renderizadas no visualizador.
PdfViewerFragment
tem alguns problemas de desempenho em documentos PDF muito grandes (> 250 MB)
Versão 1.0.0-alpha01
7 de agosto de 2024
Lançamento de androidx.pdf:pdf-viewer:1.0.0-alpha01
e androidx.pdf:pdf-viewer-fragment:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
A versão Alfa inicial do PDFViewer
inclui implementações de pré-lançamento que permitem cenários básicos de leitura de PDF. No momento, o PdfViewerFragment
é compatível apenas com versões do Android V (SDK 35). A compatibilidade com versões mais antigas do Android será adicionada nas próximas versões.
- Foi introduzido o
PdfViewerFragment
, que seu app pode usar para renderizar um documento PDF. OPdfViewerFragment
simplifica a integração de um visualizador de PDF na sua atividade e permite que os usuários interajam das seguintes maneiras:- Zoom: faça o gesto de pinça para ajustar os níveis de zoom e ter uma experiência de leitura confortável. Toque duas vezes para aumentar/diminuir rapidamente o zoom até o estado padrão.
- Navegação: role na tela no estado padrão/com zoom. O
PdfViewerFragment
oferece um controle deslizante rápido para rolar rapidamente entre as páginas. - Ações de texto: tocar e manter pressionado um texto o seleciona, permitindo que os usuários usem opções como "Copiar" e "Selecionar tudo" na página atual.
- Documentos protegidos por senha: o
PdfViewerFragment
mostra uma caixa de diálogo para o usuário inserir a senha e abrir o documento. - Hiperlinks navegáveis: os usuários podem acessar URLs da Web ou favoritos tocando nos hiperlinks dentro do PDF.
- Atalho para o modo de anotações: o modo de edição ainda não está disponível no
PdfViewerFragment
. Em vez disso,PdfViewerFragment
mostra umFloatingActionButton
que aciona uma intentandroid.intent.action.ANNOTATE
implícita com o URI do documento.
Mudanças na API
- Adicionamos a propriedade
PdfViewerFragment.documentUri
para definir um URI de arquivo ou conteúdo para o documento e iniciar o carregamento dele.PdfViewerFragment
mostra um ícone de carregamento quando o URI é definido, indicando o processamento em segundo plano do documento. - Adição de
PdfViewerFragment.isTextSearchActive
para alternar a visibilidade do menu "Encontrar no arquivo".PdfViewerFragment
processa todo o fluxo, permitindo a entrada, mostrando o número total de correspondências, ativando a navegação entre os resultados e saindo dela. - Adicionamos callbacks
onDocumentLoadSuccess
eonDocumentLoadError
, que são invocados após a renderização bem-sucedida do documento ou após um erro ser gerado antes da renderização.
Problemas conhecidos
- A barra "Encontrar no arquivo" se sobrepõe ao
FloatingActionButton
em alguns casos. - O ícone
FloatingActionButton
não fica visível para PDFs de uma página. - A contagem de resultados não é preservada na mudança de configuração no menu "Localizar no arquivo".
- Ocorre oscilação ao fechar o menu "Encontrar no arquivo"
- Imagens 3D em documentos PDF não são renderizadas no visualizador.
- Os recursos de acessibilidade serão ativados nas seguintes versões.
- A imagem do PDF fica desfocada ao girar da orientação retrato para paisagem.
- Não há suporte para anotações de texto/destaque.
PdfViewerFragment
tem alguns problemas de desempenho em documentos PDF muito grandes (> 250 MB)
Observação
- Atualizar
compileSdk
para 35 5dc41be