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中間步驟。