Pregunta

Estoy usando torres de alta tensión para servir a un documento PDF generado dinámicamente para informar: mis trabajos de aproximación en Firefox y Chrome (que muestra la línea pdf si el plugin está disponible o no lo descarga), pero IE (7 y 8) sólo muestran una página en blanco y no lo hace pronta para su descarga. IE muestra correctamente los archivos PDF generados por otros sitios web, sin embargo.

No sé si es importante, pero la página se accede a través de HTTPS.

Mi controlador hace lo siguiente:

  • hace que la página de origen a través de mako
  • convierte el HTML a PDF usando pisa
  • agrega estos encabezados de la respuesta: Content-type: application/pdf y Content-disposition: inline; filename=file.pdf

¿Tiene alguna sugerencia? Parece que estoy atascado y no puedo pensar en otra cosa que intentarlo.

¿Fue útil?

Solución

No estoy seguro si esto ayuda, pero en IE6 que estaba recibiendo todo tipo de errores del navegador extrañas cuando trató de transmitir archivos PDF generados dinámicamente. Los errores fueron diferentes dependiendo de si el encabezado de disposición de contenido dijo inline o archivo adjunto, pero fue un choque de trenes de cualquier manera.

La emitió resultó ser que IE6 debe almacenar en caché el PDF con el fin de transmitirlo a Acrobat Reader, y los encabezados predeterminados en una respuesta digamos Pilones "no hacen caché de esta". Se me permite el almacenamiento en caché durante 10 segundos mediante la adición de:

    del response.headers['Cache-Control']
    del response.headers['Pragma']
    response.cache_expires(seconds=10)

al controlador que devuelve el PDF, y todo estaba bien.

Otros consejos

En django hago esto:

response['Content-Disposition'] = 'attachment; filename=rawr.pdf'

Así que trate de cambiar a inline attachment y ver qué pasa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top