Come forzare automaticamente un download di PDF?

C’è un modo per forzare il download manager per l’utente ad avviare un download per .PDF invece di mostrare il .PDF in una nuova finestra / scheda?

usa l’attributo download nel tag

pdf link
doc link

Imposta Content-Disposition nella tua intestazione HttpResponse:

 Content-Disposition = 'attachment; filename=filename.pdf' 

Questo deve essere fatto sul lato server. Non puoi farlo dal lato del cliente.

Come farlo dipende dalla lingua del lato server in questione.

PHP:

 header('Content-Disposition: attachment; filename="' . $filename . '"'); 

Giava:

 response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); 

.NETTO:

 Response.AddHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); 

Se non c’è alcun mezzo di alcun codice lato server che trasmette il file PDF, è necessario configurarlo a livello di server web. Ad esempio Apache HTTPD, puoi inserire / espandere un file .htaccess nella radice della cartella PDF con la seguente voce:

  Header set Content-Disposition attachment  

o configurarlo globalmente nel file httpd.conf . Un approccio simile esiste per IIS con il file web.config .

Per IIS:

Metti tutti i file che vuoi forzare per scaricare nella loro cartella.

Quindi in IIS andare a quella cartella e fare doppio clic su Intestazioni risposta HTTP.

Aggiungi una nuova intestazione con le seguenti informazioni:

Nome: contenuto-disposizione

Valore: allegato

Tutti i file in quella cartella, quando vi si accede, dovrebbero richiedere la finestra di dialogo Salva come per il browser appropriato.

È necessario inviare intestazioni HTTP ( Content-disposition ) per fare ciò. Non puoi farlo dal lato client.

 < ?php header('Content-disposition: attachment; filename=filename.pdf'); header('Content-type: application/pdf'); readfile('path/to/filename.pdf'); 

Soluzione .htaccess:

 AddType application/octet-stream .pdf 

Sì, lo si può fare nella pagina JSP … Fornendo un link per il download in una pagina JSP su cui si accede alla nuova pagina di script … e scaricare il file PDF come segue

Codice DownloadPage.JSP: –

 Download PDF File 

codice downloadPdf.JSP: –

 < %@ page import="java.util.*,java.io.*"%> < % File f = new File ("E:/PDFfiles/Downloads/" + request.getParameter("file") ); response.setContentType ("application/pdf"); response.setHeader ("Content-Disposition", "attachment; filename=""+request.getParameter("file")+"""); String name = f.getName().substring(f.getName().lastIndexOf("/") + 1,f.getName().length()); InputStream in = new FileInputStream(f); ServletOutputStream outs = response.getOutputStream(); int bit = 256; int i = 0; try { while ((bit) >= 0) { bit = in.read(); outs.write(bit); } } catch (IOException ioe) { ioe.printStackTrace(System.out); } outs.flush(); outs.close(); in.close(); %> 

Fonte: http://bloggerplugnplay.blogspot.in/2012/05/how-to-create-force-download-link-for.html

  < ?php // required for IE, otherwise Content-disposition is ignored if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off'); } $reader = fopen($filename, "r"); $contents = fread($reader, filesize($filename)); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($filename)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($filename)); ob_end_clean(); echo $contents; 

Dal codice vb asp net trovato su internet ho realizzato questa semplice pagina # download.aspx. È ansible utilizzare con l’url del file passato come parametro querystring “f”. (/folder/download.aspx?f=/folder1/example.pdf).

 < !DOCTYPE html>