我想生成一个动态内容的html页面,然后将结果保存为图像,并将页面显示给用户。因此,用户注册参加会议,并提供他们的姓名和组织。这些数据与html/css元素相结合,以显示他们的会议id徽章将是什么样子(他们的姓名和组织在我们的会议徽标背景上),以供预览。批准后,页面将以图像格式(PNG、PDF或JPG)保存在服务器上,供管理员稍后打印到物理徽章上。我使用的是Django和django-photologue by PIL。
该视图可能如下所示
# 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 %}很简单,但是如何保存结果呢?或者有没有更好的方法来完成这件事?
发布于 2010-03-19 03:20:09
我唯一能想到的就是分两次完成:
a)使用http://www.xhtml2pdf.com/将HTML转换为PDF。
b)使用http://www.swftools.org/gfx_tutorial.html之类的工具将PDF转换为图像。
我无法想象这么做会很快...
你最好是直接转换并允许他们下载PDF (即只使用上面的步骤a),或者尝试在没有HTML中间步骤的情况下直接生成徽章。
https://stackoverflow.com/questions/2464038
复制相似问题