Quero exibir o conteúdo do pdf no webview. Aqui está o meu código:
WebView webview = new WebView(this);
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf");
Estou recebendo uma tela em branco. Também configurei a permissão de internet.
You've reached the bandwidth limit for viewing or downloading files that aren't in Google Docs format....
. Portanto, não parece confiável.Se você usar o url view only, o usuário não poderá fazer login na conta do Google.
fonte
Abrir um pdf usando o Google Docs é uma má ideia em termos de experiência do usuário. É muito lento e sem resposta.
Solução após API 21
Desde o api 21, temos PdfRenderer que ajuda a converter um pdf em bitmap. Nunca usei, mas parece bastante fácil.
Solução para qualquer nível de API
Outra solução é baixar o PDF e passá-lo via Intent para um aplicativo de PDF dedicado que fará um trabalho fantástico de exibi-lo. Experiência de usuário rápida e agradável, especialmente se esse recurso não for central em seu aplicativo.
Use este código para baixar e abrir o PDF
}
Para que o Intent funcione, você precisa criar um FileProvider para conceder permissão ao aplicativo receptor para abrir o arquivo.
Veja como você o implementa: Em seu Manifesto:
Por fim, crie um arquivo file_paths.xml no arquivo de recursos
Espero que isso ajude =)
fonte
Use este código:
fonte
Aqui carregue com progressDialog. Precisa dar o Cliente da Web, caso contrário, ele força para abrir no navegador:
fonte
Você pode usar o projeto Mozilla pdf.js. Basicamente, ele mostrará o PDF. Dê uma olhada no exemplo deles .
Eu só uso no navegador (desktop e celular) e está funcionando bem.
fonte
Na verdade, todas as soluções eram muito complexas e eu encontrei uma solução muito simples (não tenho certeza se está disponível para todas as versões SDK). Isso abrirá o documento pdf em uma janela de visualização onde o usuário pode visualizar e salvar / compartilhar o documento:
(Kotlin)
fonte
Baixe o código-fonte aqui ( abrir pdf em webview android )
activity_main.xml
MainActivity.java
fonte
Este é o limite de uso real que o Google permite antes de você obter o erro mencionado nos comentários . Se for um pdf único que o usuário abrirá no aplicativo, eu sinto que é completamente seguro. Embora seja aconselhável seguir a abordagem nativa usando a estrutura integrada no Android do Android 5.0 / Lollipop, é chamado de PDFRenderer .
fonte
fonte