我正在使用一个来自web(http://www.20seven.org/journal/2008/11/pdf-generation-with-pisa-in-django.html)的标准示例将django视图/模板转换为PDF.

有没有一种"简单"的方法可以在模板中包含图片(来自url或服务器上的引用),以便它们可以显示在PDF上?

推荐答案

我把图像处理好了.代码如下:

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

这是从http://groups.google.com/group/xhtml2pdf/browse_thread/thread/4cf4e5e0f4c99f55个自由地采取

Django相关问答推荐

Django Prefetch上的多重过滤

在Django的个人页面中的问题

Django Admin:在一个部分中同时显示多个应用程序?

如何在两个字段上查找 django 模型的副本?

Django - 使用在 URL 中传递的父类主键从子类中过滤对象

如何在 django 中修改现有模型实例?

Django:如何在表单 clean() 方法的 django 验证错误中添加 超链接?

Django REST Framework - 将额外参数传递给操作

文档中的 Mongoengine creation_time 属性

有没有办法将变量传递给 Django 中的 extended模板?

在 Django 过滤器语句中,__exact 和等号 (=) 有什么区别?

Python 和 Django OperationalError (2006, 'MySQL server has gone away')

Django JavaScript 文件

django 管理列表中的外键显示

django过滤器超过几天?

如何找到两个 Django 查询集的交集?

将 jQuery 脚本添加到 Django 管理界面

ProgrammingError: 安装 Psycopg2 后,关系django_session不存在错误

Django 应用程序运行良好,但收到 TEMPLATE_* 警告消息

Django - 安装 mysqlclient 错误:需要 mysqlclient 1.3.13 或更高版本;你有 0.9.3