首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预览PDF文档

预览PDF文档
EN

Stack Overflow用户
提问于 2013-06-05 09:20:24
回答 1查看 1.8K关注 0票数 2

如果我跑:

127.0.0.1:8000/document/1/预览

这个pdf文件是下载的。

我需要显示它在HTML(预览与打印功能)。该怎么做呢?

views.py

代码语言:javascript
复制
from xhtml2pdf import pisa
from django.template.loader import render_to_string
from datetime import datetime
import StringIO

def pdf_report(request, did):
    d_instance = get_object_or_404(MyObject, pk=did, user=request.user)

    contents = render_to_string('pdf_preview.html', {'object':d_instance})
    response = HttpResponse(mimetype='application/pdf')
    response['Content-Disposition'] = 'attachment; filename=answer_%s.pdf' % (f_date,)
    result = StringIO.StringIO()
    pdf = pisa.pisaDocument(StringIO.StringIO(contents.encode('utf-8')), result, show_error_as_pdf=True, encoding='UTF-8')
    if not pdf.err:
        response.write(result.getvalue())
        result.close()
        return response

urls.py

代码语言:javascript
复制
(r'^document/(?P<did>\d+)/preview/$', 'app.views.pdf_report'),
EN

回答 1

Stack Overflow用户

发布于 2013-06-05 10:32:23

若要在浏览器中打开文件,请使用inline内容处理。

代码语言:javascript
复制
response['Content-Disposition'] = 'inline; filename=answer_%s.pdf' % f_date
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16936102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档