要开始,我已经看到了这一点其他线程,和我已经试过几乎所有试图解决这个问题,但...比萨(XHTML - > PDF)在Django将不会显示在PDF图像
当使用Pisa将HTML页面呈现为PDF时,所述HTML中的图像显着缺失。也就是说,当页面呈现为HTML时,所有内容都很花哨,但是当我使用Pisa将输出切换为PDF时,图像消失。
我发现做的最常见的就是这样创建链接回调函数:
def fetch_resources(uri, rel):
path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
return path
def my_view(request, variable1):
html = render_to_string('template_goes_here.html', dict, context_instance=RequestContext(request))
result = StringIO()
pdf = pisa.pisaDocument(StringIO(html.encode("UTF-8")), dest=result, link_callback=fetch_resources)
if not pdf.err:
return HttpResponse(result.getvalue(), mimetype='application/pdf')
return HttpResponse('Pisa hates you! %s' % cgi.escape(html))
但是,这是行不通的。 PDF出现很好,但图像不存在。
我也读过关于将HTML写入mkstemp的另一个线索的建议,通过命令行将其转换为PDF,然后输出HTML,但在那里也没有成功。
我甚至尝试安装PIL 1.1.16而不是1.1.17,因为有人有类似的问题 - 没有骰子。
有没有人有一个想法,我要去哪里错了?
不要使用比萨,请使用xhtml2pdf这是项目的延续。 –
我也面临同样的问题.Mkstemp也没有帮助。当我们在html中设置图像尺寸时,比萨不会渲染图像。因此,尝试从仅带有图像的html生成PDF。然后继续添加其他HTML内容。 我用HTMLTODOC在最后生成PDF - > http://www.htmldoc.org/ – Abhaya