2011-09-15 25 views
55

C'è un modo per ottenere il browser Android di serie per aprire automaticamente un file PDF, Word o altro file tipico senza dover passare attraverso il processo di download del file e quindi chiedere all'utente di aprire il file dall'app Download o dalla barra di notifica?Come visualizzare un PDF tramite browser web Android senza "scaricare" prima

Abbiamo un'applicazione Web che ha molti documenti che vorremmo includere e non dobbiamo convertire in HTML, ma far sì che l'utente scarichi il file e lo apri manualmente non è facile addestrare gli utenti.

Su iOS, questi file sono tutti visualizzati in linea nel browser. Mi piacerebbe un modo per far sì che il browser avvii automaticamente i file in Acrobat Reader o QuickOffice o in qualunque programma l'utente debba visualizzarli.

Qualcuno sa un modo per farlo? So che Google Documenti ha un supporto per la visualizzazione di PDF, ma le persone che utilizzano la nostra app Web potrebbero non avere accesso a Internet in tutti i casi e potrebbero trovarsi su un server Web locale.

+1

Non l'ho mai visto funzionare in questo modo. Detto questo, immagino che potresti creare il tuo browser in grado di decodificare e visualizzare correttamente i file pdf. Non credo che nessuno dei browser popolari lo supporti. – FoamyGuy

+0

I file PDF sono ottimizzati per "Visualizzazione Web veloce"? In caso contrario, non possono essere visualizzati mentre il download è ancora in corso, quindi possono essere solo scaricati e quindi visualizzati. – Robert

risposta

2

Sfortunatamente il browser nativo presente sui dispositivi Android non supporta questo tipo di file. Vediamo se nel 4.0 saremo in grado di farlo.

-1
  • scarica il file .apk acrobat reader per Android per visualizzare file pdf
  • Metti i tuoi file PDF su una scheda SD
  • Utilizzare il frammento di codice di seguito

    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); 
    
+2

Questo è per un browser web, non un'applicazione Android nativa. -1 – RyanDawkins

39

Puoi aprire PDF in Google Docs Viewer aggiungendo l'URL a:

http://docs.google.com/gview?embedded=true&url=<url of a supported doc> 

Questo aprirà il PDF nel browser predefinito o in una WebView.

Viene fornito un elenco di formati supportati here.

+4

Questo è stato molto utile, grazie. Non sono sicuro che sia necessario al 100%, ma probabilmente vale la pena ricordare che l'url di un documento supportato dovrebbe essere codificato in url. – mason81

+1

Questo non funziona per me ... Mostra semplicemente una pagina "Oops! C'era un problema nell'anteprima di questo documento" con un pulsante di download. Non succede nulla quando si fa clic sul pulsante di download. –

+11

Il link sopra non funzionava per Chrome su Android, passai a 'https: //drive.google.com/viewerng/viewer? Embedded = true & url = ####' e questo ha funzionato! – QFDev

3

avevo bisogno anche questo, ed i link qui sopra ha smesso di funzionare, quindi questo è quello che ho trovato a lavorare con il nuovo Google Drive:

Google ha un servizio che crea il link per non PDF in GDrive: https://docs.google.com/viewer Basta aggiungere il tuo URL e crea un collegamento e il codice IFrame (Guarda da vicino e vedrai il modello e crea collegamenti senza questo servizio web)

Inoltre, c'è un modo per farlo per i PDF memorizzati in Google Drive : https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (questo può essere un collegamento o l'URL src o f un iframe)

Ho provato su Android e visualizza il visualizzatore di PDF piacevolmente.

+0

Per me, se non sono attualmente connesso con un account google, mi porta a una pagina di accesso. C'è un modo per aggirare questo e basta visualizzare il pdf? –

+0

il link https://docs.google.com/viewer è rotto – ejectamenta

+0

Provare a utilizzare il http://viewerjs.org/ viewer.js file sembra promettente perché è indipendente dal browser e si affida al server per eseguire il sollevamento. – user1493559

3

In particolare, per installare il plugin pdf.js per firefox, non si utilizza l'app store. Invece, vai su addons.mozilla.org dall'interno di mozilla e installalo da lì. Inoltre, per vedere se è installato correttamente, vai al menu Strumenti: Componenti aggiuntivi (non l'URL "about: plugins" come potresti pensare dalla versione desktop).

(Nuovo account, altrimenti sarei messo questo come un commento alla risposta di cui sopra)

0

È possibile utilizzare questo

webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 
+0

qualcuno può per favore menzionare il motivo del downvoting. –

+0

Può essere, la tua risposta vale per alcune tecniche di programmazione, e la risposta potrebbe essere solo l'URL, anche io posso aggiungerlo in un tag di ancoraggio, che è già menzionato sopra –

0
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)"); 
0
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); 
Problemi correlati