O Android não possui suporte a PDF em suas bibliotecas. Existe alguma maneira de renderizar arquivos PDF nos aplicativos Android?
java
android
pdf
android-pdf-api
alexleutgoeb
fonte
fonte
Respostas:
Como o API Level 21 (Lollipop) Android fornece uma classe PdfRenderer :
Para mais informações, consulte o aplicativo de amostra .
Para APIs mais antigas, recomendo a biblioteca Android PdfViewer , é muito rápida e fácil de usar, licenciada sob a Apache License 2.0:
fonte
PDFView Library
? O que devemos colocarpdfName
? O que fazer as funçõesonDraw
,onLoad
eonPageChange
ouvinte parece? Obrigado pela vossa ajuda :) #Retirado do meu blog:
fonte
Fiz uma abordagem híbrida a partir de algumas das respostas dadas a este e a outros posts semelhantes:
Esta solução verifica se um aplicativo de leitor de PDF está instalado e faz o seguinte: - Se um leitor estiver instalado, faça o download do arquivo PDF no dispositivo e inicie um aplicativo de leitor de PDF - Se nenhum leitor estiver instalado, pergunte ao usuário se ele deseja visualizar o arquivo PDF online através do Google Drive
NOTA! Esta solução usa a
DownloadManager
classe Android , que foi introduzida na API9 (Android 2.3 ou Gingerbread). Isso significa que ele não funciona no Android 2.2 ou anterior.Escrevi um post sobre isso aqui , mas forneço o código completo abaixo para garantir a integridade:
fonte
Faça o download do código fonte aqui ( Exibir arquivo PDF dentro do meu aplicativo Android )
Adicione esta dependência à sua Nota: compile 'com.github.barteksc: android-pdf-viewer: 2.0.3'
activity_main.xml
MainActivity.java
fonte
assetFileName
arquivo pdf deve existir naassets
pastaEu finalmente consegui modificar o código do butelo para abrir qualquer arquivo PDF no sistema de arquivos do Android usando
pdf.js
. O código pode ser encontrado no meu GitHubO que eu fiz foi modificado
pdffile.js
para ler o argumento HTMLfile
como este:Então, o que você precisa fazer é acrescentar o caminho do arquivo,
index.html
assim:Atualize a
path
variável para apontar para um PDF válido no sistema de arquivos Adroid.fonte
você pode usar um método simples importando
e o código XML é
e apenas declare e adicione um arquivo a uma pasta de ativos e apenas atribua o nome
fonte
PdfiumAndroid
que se já é 18.4MBagl.pdf
arquivo deve existir naassets
pastaPara adicionar um pouco de luz a isso, eu precisaria usar a solução pdf.js da Mozilla. Aqui está o link para uma implementação já bem escrita disso: https://bitbucket.org/butelo/pdfviewer/ .
Aqui estão as edições que adicionei na minha Atividade Android:
Aqui estão as edições que eu fiz
pdffile.js
:fonte
Usei o código abaixo para abrir e imprimir o PDF usando Wi-Fi. Estou enviando todo o meu código e espero que seja útil.
fonte
Não há nenhuma maneira de visualizar o documento PDF no Android webview. Se você deseja visualizar o base64 pdf. Requer biblioteca de terceiros.
build.Gradle
dialog_pdf_viewer
DailogPDFViewer.java
fonte