¿Cómo forzar una descarga de PDF automáticamente?

¿Hay alguna manera de forzar al administrador de descargas del usuario a iniciar una descarga para .PDF en lugar de mostrar el .PDF en una nueva ventana / pestaña?

usa el atributo de descarga dentro de tu etiqueta

pdf link
doc link

Establezca Content-Disposition en su encabezado HttpResponse:

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

Esto debe hacerse en el lado del servidor. No puedes hacer esto en el lado del cliente.

Cómo hacerlo depende del idioma del lado del servidor en cuestión.

PHP:

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

Java:

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

.RED:

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

Si no hay medios de ningún código del lado del servidor que transmita el archivo PDF, entonces debe configurarlo en el nivel del servidor web. En, por ejemplo, Apache HTTPD, puede colocar / expandir un archivo .htaccess en la raíz de la carpeta PDF con la siguiente entrada:

  Header set Content-Disposition attachment  

o configurarlo globalmente en el archivo httpd.conf . Existe un enfoque similar para IIS con web.config archivo web.config .

Para IIS:

Coloque todos los archivos que desee forzar para que se descarguen en su propia carpeta.

Luego, en IIS, vaya a esa carpeta y haga doble clic en HTTP Response Headers.

Agregue un nuevo encabezado con la siguiente información:

Nombre: contenido-disposición

Valor: archivo adjunto

Todos los archivos en esa carpeta, cuando se accede, deben solicitar el cuadro de diálogo guardar para el navegador apropiado.

Debe enviar encabezados HTTP ( Content-disposition ) para hacer esto. No puedes hacer esto en el lado del cliente.

  

.htaccess solución:

 AddType application/octet-stream .pdf 

Sí, se puede hacer en la página JSP … Al dar un enlace de descarga en una página JSP en la que va a la nueva página de scripts … y descargar el archivo PDF de la siguiente manera

Código DownloadPage.JSP: –

 Download PDF File 

downloadPdf.JSP code: –

 <%@ 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(); %> 

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

   

Desde el código vb asp net encontrado en internet hice esta simple página de c # download.aspx. Puede usarlo con la url del archivo pasada como parámetro de querystring “f”. (/folder/download.aspx?f=/folder1/example.pdf).