【问题标题】:Pylons and Pisa (xhtml2pdf): blank page in IEPylons 和 Pisa (xhtml2pdf):IE 中的空白页
【发布时间】:2010-05-29 08:48:56
【问题描述】:
我正在使用 pylons 提供动态生成的 pdf 文档以进行报告:我的方法适用于 firefox 和 chrome(如果插件可用或以其他方式下载它,它会显示 pdf 内联)但 IE(7 和 8)只显示空白页,不提示下载。不过,IE 可以正确显示其他网站生成的 PDF。
不知道是否重要,但该页面是通过 HTTPS 访问的。
我的控制器执行以下操作:
- 通过 mako 渲染源页面
- 使用 pisa 将 html 转换为 pdf
- 将这些标头添加到响应中:
Content-type: application/pdf 和 Content-disposition: inline; filename=file.pdf
你有什么建议吗?我似乎被困住了,想不出其他可以尝试的方法。
【问题讨论】:
标签:
internet-explorer
pdf
pylons
pisa
【解决方案1】:
不确定这是否有帮助,但在 IE6 中,当我尝试流式传输动态生成的 PDF 时,我遇到了各种奇怪的浏览器错误。根据内容处置标题是内联还是附件,错误会有所不同,但无论哪种方式,这都是一场灾难。
事实证明,IE6 必须缓存 PDF 才能将其传递给 Acrobat Reader,并且 Pylons 响应中的默认标头显示“不缓存此”。我通过添加允许缓存 10 秒:
del response.headers['Cache-Control']
del response.headers['Pragma']
response.cache_expires(seconds=10)
到返回 PDF 的控制器,一切都很好。
【解决方案2】:
在 django 中我这样做:
response['Content-Disposition'] = 'attachment; filename=rawr.pdf'
所以尝试将inline 更改为attachment 看看会发生什么。