jdu*_*can 32 pdf django pdf-generation image pisa
我正在使用网络上的标准示例(http://www.20seven.org/journal/2008/11/pdf-generation-with-pisa-in-django.html)将django视图/模板转换为PDF.
是否有一种"简单"的方式在模板中包含图像(来自服务器上的URL或引用),以便它们显示在PDF上?
jdu*_*can 34
我让图像正常工作.代码如下:
from django.http import HttpResponse
from django.template.loader import render_to_string
from django.template import RequestContext
from django.conf import settings
import ho.pisa as pisa
import cStringIO as StringIO
import cgi
import os
def dm_monthly(request, year, month):
html = render_to_string('reports/dmmonthly.html', { 'pagesize' : 'A4', }, context_instance=RequestContext(request))
result = StringIO.StringIO()
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), dest=result, link_callback=fetch_resources )
if not pdf.err:
return HttpResponse(result.getvalue(), mimetype='application/pdf')
return HttpResponse('Gremlins ate your pdf! %s' % cgi.escape(html))
def fetch_resources(uri, rel):
path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
return path
Run Code Online (Sandbox Code Playgroud)
这是从http://groups.google.com/group/xhtml2pdf/browse_thread/thread/4cf4e5e0f4c99f55中大量使用的.
小智 5
HTML 和 Django version=2.0 中的以下代码行对我有用。
<img src="{{company.logo.path}}" height="100px">
Run Code Online (Sandbox Code Playgroud)