【问题标题】:print pdf file inside navigator weasyprint在导航器 weasyprint 中打印 pdf 文件
【发布时间】:2018-03-29 00:22:49
【问题描述】:

我想在浏览器中打印 pdf 文件以供选择保存。我在 django 2.0.2 中使用 weasyprint

我在我的views.py 中使用了这个代码,但是firefox 会自动下载它并且不介意“内联”。有什么帮助吗?

response['Content-Disposition'] = 'inline; filename="gene_detail_description_print.pdf"'

【问题讨论】:

    标签: django weasyprint


    【解决方案1】:

    请看这里:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

    从那里复制:

    HTTP 上下文中的第一个参数是内联的(默认值, 表示它可以显示在网页内,或作为网页)或 附件(表示应该下载它;大多数浏览器显示 “另存为”对话框,预填充文件名参数的值,如果 存在)。

    Content-Disposition: inline
    Content-Disposition: attachment
    Content-Disposition: attachment; filename="filename.jpg"
    

    所以你应该使用response['Content-Disposition'] = 'attachment; filename="gene_detail_description_print.pdf"' 来允许用户下载文件并可能重命名它。

    【讨论】:

    • "attachment" 必须自动下载文件,"inline" 必须在浏览器中打开。我希望它在浏览器中打开
    • 如果您希望它在浏览器中打开,那么您将使用内联没有 filename= 部分。然后firefox会在浏览器中打开(如果文件当然可以打开的话)。
    • 它不起作用。这就是我问的原因。我只是在 google Chromium 中试了一下,效果很好
    • 可能你的 Firefox 版本不支持内联 pdf。
    • 我使用的是 firefox 55.0.2
    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多