¿Cómo indicar a Chrome que descargue PDF en lugar de (pre) verlo en el navegador?

9

Tengo un archivo PDF para descargar por los usuarios en mi sitio web.

¿Hay alguna forma de indicar a Chrome que no vea el PDF en el navegador de los usuarios cuando el usuario hace clic en el enlace al PDF, sino que descarga el PDF en la carpeta de descarga de los usuarios? ¿O al menos le indica a Chrome que le pregunte al usuario si quiere ver el PDF en el navegador o descargarlo (en lugar de solo verlo en el navegador automáticamente)?

Gracias :)

rassom
fuente
Gracias :) Intenté la respuesta mejor calificada aquí, pero no funciona :( wordpress.stackexchange.com/questions/5419/…
rassom
1
Creo que eso no funcionará para Chrome porque Chrome detecta el documento como PDF antes de que htaccess cargue e interactúe con el navegador. entonces Chrome lo cargará como PDF y no accederá a él como acción de descarga.
Tal vez se pueda agregar un JavaScript que encuentre el enlace a través de un ID de CSS específico y luego agregue un atributo de descarga ref w3schools.com/TAgs/att_a_download.asp . Si alguien aquí sabe lo suficiente javascript para hacerlo, ayuda será apreciada,
rassom
1
@rassom, ¿qué servidor web estás usando? El Content-Dispositionencabezado mencionado en el enlace en el primer comentario es la forma correcta de hacerlo.
heavyd
1
La disposición de contenido en .htaccess no funciona, ya lo probé.
rassom

Respuestas:

11

Puede usar la downloadpropiedad en su enlace (ancla) de esta manera:

<a href="some/path/somefile.pdf" download target="_blank">download PDF file</a>

Esto forzaría la descarga en los navegadores, que lo admiten (Chrome, Firefox y Opera). Sin embargo, actualmente no es compatible con IE o Safari según este enlace

Fuente: /programming/3802510/force-to-open-save-as-popup-open-at-text-link-click-for-pdf-in-html

Kristian
fuente
1
Documentación para el atributo porque tiene algunas características interesantes. Es una pena que IE sea terco. w3schools.com/tags/att_a_download.asp
También es tan malo que Chrome limita el atributo para el mismo dominio y el mismo puerto :-( sin embargo, le permiten descargar el archivo a través de "Guardar como"
user1156544
2

No estoy seguro de si es posible a través del código personalizado en el sitio web. Hasta donde sé, depende totalmente de la configuración del usuario en su navegador Chrome.

Básicamente, cuando escribe: chrome: // plugins / , enumerará sus complementos de Chrome y si el usuario deshabilita el complemento llamado: Chrome PDF Viewer , solo Chrome solicitará descargar PDF; de lo contrario, el PDF se abrirá allí automáticamente.


fuente
Gracias, pero no responde la pregunta sobre cómo yo, como webmaster, puedo asegurarme de que ese sea el comportamiento de los usuarios que no han configurado esta configuración de preferencias de Chrome. Pero que amable de tu parte responder :-)
rassom
1

Se puede hacer simplemente haciendo clic en el archivo PDF, haga clic derecho sobre él y seleccione "guardar enlace como" y luego Chrome comenzará a descargar el archivo PDF y asegúrese de verificar el formato del archivo antes de guardar la dirección del enlace, generalmente sería .pdf, pero si no, escriba manualmente .pdf después.

Chirag
fuente
Gracias, pero no responde la pregunta sobre cómo yo, como webmaster, puedo asegurarme de que ese sea el comportamiento de los usuarios que no han configurado esta configuración de preferencias de Chrome. Pero que amable de tu parte responder :-)
rassom