Visualizza PDF nel browser web


86

Come posso visualizzare un pdf all'interno di un browser web su una pagina .html?

Risposte:


121

Uso il visualizzatore PDF incorporabile di Google Documenti. I documenti non devono essere caricati su Google Docs, ma devono essere disponibili online.

<iframe src="http://docs.google.com/gview?url=http://path.com/to/your/pdf.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"></iframe>

3
Con questa soluzione alcuni utenti non vedono il file PDF, ma vengono prima invitati da Google ad accedere.
Philipp Zedler

41
Ho una domanda su questa soluzione. Google memorizzerà una copia del mio file pdf nei suoi server? La privacy del mio contenuto verrà preservata?
hd.

@Alex per sapere con certezza, prova ... proverei -: //docs.google.com/gview? Url =: //path.com/to/your/pdf.pdf&embedded=true come iframe src
bradenkeith

in che modo questo è diverso / migliore dalla soluzione di @ Will per impostare direttamente src dell'iFrame sul pdf? Presumo che il collegamento diretto dipenderà dal lato client del software per visualizzare effettivamente il pdf, ma non lo farebbe anche google docs?
Félix Gagnon-Grenier

3
@hd. Sì, Google visualizza semplicemente il PDF tramite il display incorporato. Non credo che ne tengano una copia, anche se dovranno tradurla in visualizzazione pagina per pagina, quindi a un certo punto mi aspetto che si convertano in PNG pagina per pagina. Per chiunque utilizzi questa risposta, tieni presente che Google ha un limite di larghezza di banda per i documenti non Google. Una volta esaurito, il PDF non viene visualizzato, solo un messaggio che la larghezza di banda è stata superata e per riprovare più tardi.
Jon

37

invece di usare iframe e, a seconda del pensiero di terze parti, sull'utilizzo di flexpaper o pdf.js.

Ho usato PDF.js , funziona bene per me. Ecco la demo .


3
Come non è una terza parte?
Alex

41
È un codice di terze parti piuttosto che un servizio di terze parti.
Collin Anderson

Migliore soluzione per l'applicazione per l'ambiente VPN.
Erlan

19

preferito utilizzando il tag object

<object data='http://website.com/nameoffolder/documentname.pdf#toolbar=1' 
        type='application/pdf' 
        width='100%' 
        height='700px'>

nota che puoi modificare la larghezza e l'altezza con qualsiasi valore che visiti http://www.w3schools.com/tags/tag_object.asp


Il mi piace che hai pubblicato non fornisce ulteriori informazioni sulla risposta.
Daniël W. Crompton

2
la domanda era: Come posso visualizzare un pdf all'interno di un browser web su una pagina .html? l'utilizzo del tag object html 5 aiuterà ... <object width = "400" height = "400" data = "helloworld.swf"> </object> Utilizza questo elemento per incorporare contenuti multimediali (come audio, video, applet Java, ActiveX, PDF e Flash) nelle tue pagine web.
BAKARI SHEGHEMBE

Hai perfettamente ragione, tuttavia il collegamento a w3schools non fornisce ulteriori informazioni per completare la risposta mentre l'hai scritta.
Daniël W. Crompton

Questo non funzionerebbe se non hai un visualizzatore di PDF nel tuo browser
Umair Hamid

1
Sì è vero. Un aspetto positivo del tag object è che può rilevarlo. E ti consente di inserire ulteriori opzioni per consentire ai visitatori di visualizzare la pagina tramite gdrive, onedrive e così via <object data = ' example.com/path.pdf#toolbar=1'type='application/pdf ' width = ' 100% 'height =' 700px '> <p> Sembra che il tuo browser Web non sia configurato per visualizzare i file PDF. Nessun problema, basta <a href=' example.com/path.pdf'> fare clic qui per scaricare il file PDF. </a> o <a href = " drive.google.com/[drive path] / view? Usp = condivisione "> fai clic qui per visualizzare </a> </p> </object>
BAKARI SHEGHEMBE

19

Il modo più semplice è creare un iframe e impostare l'origine sull'URL del PDF.

(Duck pazzi designer HTML) Fatto da solo, funziona bene, cross browser (striscia nel bunker).


8
non funziona se non hai il plugin pdf installato su IE
Collin Anderson

3
Come è ovvio? Sembra un'utile aggiunta al "cross-browser".
showdev

1
questo è stato molto più facile da configurare rispetto a tutti gli altri di terze parti. Non so come sia andata nel 2011 ma nel 2016 è molto veloce e ricca di funzioni utili. Inoltre sembra funzionare alla grande su Chrome, FF e IE
slaw

1
Non funziona per me in Chrome su telefono Android: scarica il pdf e lo apre in un'app separata (se ne hai una). E non riesco a scorrere ad altre pagine in Safari su iOS. Vedo solo la prima pagina del pdf.
Vasiliy Zverev

7

Il plugin del browser controlla queste impostazioni, quindi non puoi forzarlo. Tuttavia, puoi fare un semplice <a href="whatver.pdf">invece di <a href="whatever.pdf" target="_blank">.


Finalmente qualcuno che sa di cosa stanno parlando per questa risposta. Questa è la risposta migliore e la più semplice. @jschorr è assolutamente corretto. Il browser controlla queste impostazioni. Più efficiente!!
Val

4

Finché ospiti il ​​PDF, l'attributo di destinazione è la strada da percorrere. In altre parole, per i file relativi, l'utilizzo dell'attributo target con il valore _blank funzionerà perfettamente.

<e>
  <a target="_blank" alt="StackExchange Handbook" title="StackExchange Handbook"
     href="pdfs/StackExchange_Handbook.pdf">StackExchange Handbook</a>

Per percorsi assoluti motori andranno al U nified R eSource L ocator e aprirlo loro. Quindi, sopprimi l'attributo target.

<e>
  <a alt="StackExchange Handbook" title="StackExchange Handbook"
     href="protocol://url/StackExchange_Handbook.pdf">StackExchange Handbook</a>

I browser faranno un buon lavoro in entrambi i casi.


Questa soluzione ha funzionato molto meglio per me rispetto alla risposta accettata. Va anche notato che lavoro con alcune informazioni sensibili, quindi non avere i miei documenti pubblicamente disponibili era importante per me.
Casper Wilkes,


3

Puoi usare questo codice:

<embed src="http://domain.com/your_pdf.pdf" width="600" height="500" alt="pdf" pluginspage="http://www.adobe.com/products/acrobat/readstep2.html">

Oppure utilizza il visualizzatore PDF incorporabile di Google Documenti:

<iframe src="http://docs.google.com/gview?url=http://domain.com/your_pdf.pdf&embedded=true" 
style="width:600px; height:500px;" frameborder="0"></iframe>

1

Puoi anche avere questo semplice approccio GoogleDoc.

<a  style="color: green;" href="http://docs.google.com/gview?url=http://domain//docs/<?php echo $row['docname'] ;?>" target="_blank">View</a>

Ciò creerebbe una nuova pagina per visualizzare il documento senza distorcere il flusso.


Funziona bene, grazie. Ma cosa succede nel caso in cui l'utente desideri vedere il pdf senza connessione a Internet?
Utente

puoi usare la libreria JQuery come pdf.js github.com/mozilla/pdf.js .. 2. Controlla PDFObject che è una libreria Javascript per incorporare PDF in file HTML. Gestisce abbastanza bene la compatibilità del browser e molto probabilmente funzionerà su IE8.
Asuquo12

0

La soluzione semplice è metterlo in un iframe e sperare che l'utente disponga di un plug-in che lo supporti.

(Non lo so, il plugin Acrobat è stato un tale maiale di risorse e fonte di instabilità che mi impegno a rimuoverlo da qualsiasi browser che tocchi).

La soluzione complicata, ma relativamente popolare, è visualizzarlo in un'applet flash.


0

Rendiamo le pagine del file PDF come file PNG sul server usando JPedal (una libreria java). Questo, combinato con un po 'di javascript, ci offre un elevato controllo sulla visualizzazione e la navigazione.


Penso che sia fantastico, ma necessita di molte risorse.
eveevans

Ma gli utenti non possono copiare / incollare testo da PNG.
Vasiliy Zverev,

0

Recentemente avevo bisogno di fornire una versione più mobile-friendly e reattiva di un documento .pdf, perché gli schermi stretti del telefono richiedevano lo scorrimento a destra ea sinistra molto. Per consentire solo lo scorrimento verticale ed evitare lo scorrimento orizzontale, i seguenti passaggi hanno funzionato per me:

  • Apri il .pdf nel browser Chrome
  • Fai clic su Apri con Google Documenti
  • Fare clic su File> Download> Pagina Web
  • Fare clic sul documento scaricato per decomprimerlo
  • Fare clic sul documento HTML decompresso per aprirlo nel browser Chrome
  • Premi FN F12 per aprire Chrome Dev Tools
  • Incolla copia (document.documentElement.outerHTML.replace (/ padding: 72pt 72pt 72pt 72pt; /, '') .replace (/ margin-right:. *? Pt / g, '')) nella Console e premi Invio per copiare il documento ottimizzato negli appunti
  • Apri un editor di testo (ad es. Blocco note) o, nel mio caso, VSCode, incolla e salva con estensione .html.

Il risultato sembrava buono ed era utilizzabile sia in ambienti desktop che mobili.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.