【发布时间】:2015-01-07 07:29:05
【问题描述】:
我的视图设置如下:
views.py
class PDFTemplateView(TemplateView):
Model = TemplateInfo
template_name = 'hello.html'
def get(self, *args, **kwargs):
obj = self.Model.objects.get(id = kwargs['pk'])
html = get_template(self.template_name).render(Context({'object' : obj}))
result = StringIO.StringIO()
rendering = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result)
if not rendering.err:
return HttpResponse(result.getvalue(), mimetype='application/pdf')
return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))
我在这个提要中找到了一个定义为fetch_resource() 函数的解决方案,但这对我没有帮助。我阅读了文档,没有这个功能我会更好。
这是我的模板“hello.html”
<style type="text/css">
@page {
background-image: url('/media/image/mainbg.jpg'); #this wouldnot give image too
size: letter portrait;
@frame header_frame { /* Static Frame */
-pdf-frame-content: header_content;
left: 50pt; width: 512pt; top: 50pt; height: 40pt;
-pdf-frame-border: 1; /* for debugging the layout */
}
@frame content_frame { /* Content Frame */
left: 50pt; width: 512pt; top: 90pt; height: 632pt;
-pdf-frame-border: 1; /* for debugging the layout */
}
@frame footer_frame { /* Another static Frame */
-pdf-frame-content: footer_content;
left: 50pt; width: 512pt; top: 772pt; height: 20pt;
-pdf-frame-border: 1; /* for debugging the layout */
}
</style>
</head>
<div id="header_content">Lyrics-R-Us</div>
<div id="footer_content">(c) - page <pdf:pagenumber>
of <pdf:pagecount>
</div>
<ul>
<li>{{ object.emp_name }}</li>
<li>{{ object.designation }}</li>
<li>{{ object.image.url }}</li>
</ul>
到目前为止,一切似乎都很好。但我无法在 pdf 中获取图像。这个{{ object.image.url}} 在pdf 中给了我一个fie 路径字符串,但不是图像。我是不是错过了什么。请帮帮我。我已经被困了几个小时了。
【问题讨论】:
-
我自己想通了。我太着急了,我想我只是复制并粘贴代码sinppet。很抱歉给您带来了困扰。