0

我想要生成一个包含动态内容的html页面,然后将结果保存为图像以及将页面显示给用户。所以,用户注册参加会议并提供他们的名字和组织。该数据与html/css元素相结合,以显示他们会议的ID徽章的外观(他们的名字和组织会议徽标背景之上)以供预览。获得批准后,该页面将保存在服务器上,以便以后由管理员将其打印到物理徽章上的图像格式(PNG,PDF或JPG)。我正在使用Django和由PIL驱动的django-photologue。动态创建并使用Django和PIL保存图像/ Django-Photologue

的看法可能是这样的

# app/views.py 

def badgepreview(request, attendee_id): 
    u = User.objects.get(id=attendee_id) 
    name = u.name 
    org = u.org 

    return render_to_response('app/badgepreview.html', 
     {'name':name,'org':org,}, 
     context_instance = RequestContext(request), 
    ) 

模板可能看起来像这样

{# templates/app/badgepreview.html #} 
{% extends "base.html" %} 
{% block page_body %} 
    <div style='background:url(/site_media/img/logo_bg.png) no-repeat;'> 
     <h4>{{ name }}</h4> 
     <h4>{{ org }}</h4> 
    </div> 
{% endblock %} 

简单,但我怎么保存结果?或者有更好的方法来完成这个任务吗?

+0

您是否考虑过使用PIL动态生成图像? –

回答

0

我能想到的唯一的事情就是做两遍:

a)使用http://www.xhtml2pdf.com/到HTML转换为PDF。

b)使用类似http://www.swftools.org/gfx_tutorial.html的东西将PDF转换为图像。

我无法想象,这样做会快...

你可能会更好只是转换,并允许他们下载一个PDF(即只使用上述步骤a)),或试图生成徽章直接没有HTML中间步骤。