Existe uma maneira de fazer com que o navegador padrão do Android abra automaticamente um PDF, Word ou outro arquivo típico sem ter que passar pelo processo de download do arquivo e, em seguida, fazer com que o usuário abra o arquivo no aplicativo Downloads ou na barra de notificação ?
Temos uma aplicação web que tem muitos documentos que gostaríamos de incluir e não ter que converter para HTML, mas fazer o usuário baixar o arquivo e abri-lo manualmente não é fácil de treinar os usuários.
No iOS, todos esses arquivos são exibidos em linha no navegador. Gostaria de ter uma maneira de fazer com que o navegador inicie automaticamente os arquivos no Acrobat Reader ou QuickOffice ou em qualquer programa que o usuário tenha para exibi-los.
Alguém conhece uma maneira de fazer isso? Sei que o Google Docs oferece suporte para visualização de PDF, mas as pessoas que usam nosso aplicativo da web podem não ter acesso público à Internet em todos os casos e podem acessar um servidor da web local.
Respostas:
Você pode abrir PDF no visualizador do Google Docs anexando URL a:
http://docs.google.com/gview?embedded=true&url=<url of a supported doc>
Isso abriria o PDF no navegador padrão ou em um WebView.
Uma lista de formatos suportados é fornecida aqui .
fonte
https://drive.google.com/viewerng/viewer?embedded=true&url=####
e funcionou!Você pode usar este formato a partir de 06/04/2017.
https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf
Basta substituir http: //yourfile.pdf pelo link que você usa.
fonte
Especificamente, para instalar o plugin pdf.js para firefox, você não usa a app store. Em vez disso, vá para addons.mozilla.org de dentro do mozilla e instale-o de lá. Além disso, para ver se está instalado corretamente, vá para o menu Ferramentas: Complementos (não o url "sobre: plug-ins" como você pode pensar na versão para desktop).
(Nova conta, caso contrário, colocaria isso como um comentário na resposta acima)
fonte
String format = "https://drive.google.com/viewerng/viewer?embedded=true&url=%s"; String fullPath = String.format(Locale.ENGLISH, format, "PDF_URL_HERE"); Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(fullPath)); startActivity(browserIntent);
fonte
Eu também precisava disso e os links acima pararam de funcionar, então descobri que funciona com o novo Google Drive:
O Google tem um serviço que cria o link para PDFs que não estão no GDrive: https://docs.google.com/viewer Basta adicionar seu URL e ele cria um link, e o código IFrame (observe com atenção e você verá o padrão e criará links sem este serviço da web)
Além disso, há uma maneira de fazer isso para PDFs armazenados no Google Drive: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (pode ser um link ou o src URL de um iframe)
Eu testei no Android e ele traz o visualizador de PDF muito bem.
fonte
Infelizmente, o navegador nativo presente em dispositivos Android não suporta este tipo de arquivo. Vamos ver se no 4.0 poderemos fazer isso.
fonte
Você pode usar isso
webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file");
fonte
Try this, worked for me. WebView view = (WebView) findViewById(R.id.yourWebView); view.getSettings().setJavaScriptEnabled(true); view.getSettings().setPluginState(WebSettings.PluginState.ON); view.loadUrl("http://docs.google.com/gview?embedded=true&url=" +"your document link(pdf,doc,docx...etc)");
fonte
setPluginState
foi descontinuado da API 18 ( stackoverflow.com/questions/19362049/… ).setPluginsEnabled
ao invés desetPluginState
setPluginState
senão meu webview não funcionariapublic class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openURL("http://docs.google.com/viewer?url=" + " your pdf link "); } }); } private void openURL(String s) { Uri uri = Uri.parse(s); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri,"text/html"); startActivity(intent); } }
fonte
Use o snippet de código abaixo
File file= new File("/sdcard/test.pdf"); Uri path=Uri.fromFile(file); Intent i =new Intent(Intent.ACTION_VIEW); i.setDataAndType(path,"application/pdf"); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);
fonte