Estoy intentando ver un archivo PDF que encontré en línea.
Normalmente, cuando intento abrir un archivo PDF, Firefox lo muestra en su visor de PDF predeterminado (llamado pdfjs, creo). Este es un comportamiento bueno y normal.
Sin embargo...
con este PDF específico que encontré en línea, hago clic en el enlace a su ubicación y Firefox abre el cuadro de diálogo de descarga. Describe el archivo como un "archivo binario", aunque el archivo es un PDF que puedo descargar y ver de forma nativa.
Supongo que el servidor web es "no decir" Firefox que este archivo Pdf es, de hecho, un archivo Pdf. Por lo tanto, Firefox sólo puede asumir que es un "archivo binario".
Esto me impulsó a hacerme la pregunta...
Si alguna vez volviera a encontrarme con esta molestia, en lugar de descargar el archivo, ¿puedofuerza¿Firefox abre un archivo (en línea o no) en su visor de PDF predeterminado?
Soluciones intentadas:
- Probé la respuesta de¿Cómo llamar manualmente al visor de PDF integrado de Firefox (pdf.js)?, pero fue en vano. Firefox simplemente intenta descargar el "archivo binario".
- Agregué
view-source:
al principio de la ubicación del Pdf (es decirview-source:https://www.website.com/pdf.pdf
), solo aparece el texto ASCII sin formato del archivo Pdf.
PD: Estoy usando Firefox 48.0.2...
Sí, es antiguo....
De acuerdo a lo pedido:
Respuesta1
Hay varias formas en que los sitios pueden obligar a su navegador a descargar un archivo en lugar de abrirlo directamente:
El download
atributo HTML
Este atributo en una anchor
etiqueta intentará forzar a su navegador a descargar el archivo en lugar de procesarlo como lo haría normalmente.
Generalmente, esto se usa cuando necesita tomar un nombre de documento generado automáticamente y presentarlo como algo agradable para el usuario.
Uso:<a href="http://www.website.com/path/to/YourDocument.pdf" download="YourDocument.pdf">...
Todavía no he encontrado una manera de solucionar esto, pero como la verdadera causa de su problema se encuentra debajo, no lo he investigado por completo...
Encabezados HTTP
Content-Disposition
Un servidor web puede responder a una solicitud de un documento con el Content-Disposition
encabezado para describir cómo el navegador debe recibir el archivo.
Content-Disposition: Attachment
le indicará al navegador que debe descargar el archivo, en lugar de procesarlo como lo haría normalmente.
Content-Disposition: Inline
le indicará al navegador que se puede mostrar dentro de la página web o como página web.
Aquí hay un complemento de Firefox que tomará Attachment
encabezados y los reemplazará con Inline
encabezados:
https://addons.mozilla.org/en-US/firefox/addon/bypass-forced-download/
Técnicamente, intercepta Content-Disposition: attachment
encabezados y los reescribe sobre la marcha en Content-Disposition: inline
. También le permite especificar sitios web que deberían y no deberían utilizar esta reescritura.
Como ocurre con la mayoría de los complementos, su kilometraje puede variar.
Content-Type
Un servidor web puede responder a una solicitud de un documento con el Content-Type
encabezado para describir el tipo de documento que devuelve al navegador.
Content-Type: application/octet-stream
se define como "datos binarios arbitrarios" y básicamente solo se puede descargar como un archivo; de lo contrario, el navegador no sabrá qué hacer con él.
Esto es lo que ve cuando su navegador solicita el archivo PDF que está intentando ver.
Content-Type: application/pdf
es lo que probablemente necesitarías si quisieras ver este archivo en tu navegador, o al menos hacer que Firefox entienda qué es el archivo y cómo manejarlo correctamente.
Aquí hay un complemento de Firefox que se puede configurar para escuchar y reescribir Content-Type
encabezados según su contenido.
Nota: Modificar la forma en que su navegador maneja los tipos MIME puede ser peligroso.
https://addons.mozilla.org/en-US/firefox/addon/content-type-fixer/
Nuevamente, este complemento puede funcionar o no en todos los casos.