Invece di scaricare PDF, come forzare l'apertura/visualizzazione del PDF nel browser?

Ogni volta che carico un PDF, questo viene visualizzato nell’argomento come segue:

image

Sto usando Inline PDF per visualizzarlo nella versione desktop. Tuttavia, su mobile Inline PDF non funziona. Inoltre, Google o altri motori di ricerca rilevano automaticamente i file PDF, ma ogni volta che un utente clicca sui risultati, appare la finestra di download del PDF invece di aprirlo in una scheda. Questo è un po’ scomodo e la maggior parte degli utenti preferisce visualizzare il PDF online invece di scaricarlo e aprirlo in un secondo momento.

Esiste una soluzione a questo problema?

NOTA: Ho visto questo argomento PDF onebox instead of download, on uploaded files, ma la discussione si è conclusa senza fornire una risposta pertinente alla domanda originale. Da qui la creazione di questo nuovo argomento.

Grazie per aver sollevato questa domanda. Anch’io sono curioso di sapere la risposta!

Incorpora un PDF archiviato su Google Drive

I PDF vengono visualizzati sia su dispositivi mobili che desktop.

(Il mio metodo preferito affinché i PDF negli iFrame vengano visualizzati su qualsiasi dispositivo come responsive)

  1. Condividi
  2. Copia il link di condivisione
  3. Apri il link di condivisione in una nuova scheda
  4. Fai clic sui 3 punti verticali nell’angolo in alto a destra
  5. Seleziona Incorpora elemento
  6. Copia il codice iFrame visualizzato
  7. Incollalo nella finestra di composizione/editor di Discourse

Esempio Desktop…

Esempio Mobile…

Il PDF inline non funziona nemmeno per me sul desktop.

Ho un successo parziale nel visualizzare i PDF inline quando li aggiungo a FileHelper.inline_images

Ma poi è necessario un parametro “inline=1”:

Questo potrebbe essere aggiunto in qualche componente tematico (Inline PDF Previews).

Mi piacerebbe imparare un modo pulito per far sì che Discourse serva i PDF con content-disposition: inline utilizzando un plugin o un’opzione di configurazione.

Sono riuscito a scrivere un piccolo plugin per questo scopo: