2010-05-24 92 views
7

我在瀏覽器中的django中生成.pdf的罰款,但如果我想自動將文件寫入磁盤?我想要做的是能夠在指定的時間點生成.pdf版本文件並將其保存在上傳目錄中,因此不存在瀏覽器交互。這可能嗎?使用比薩寫入pdf到磁盤

回答

12

是的,這是可能的。例如,使用代碼Greg Newman作爲首發:

from django.template.loader import get_template 
from django.template import Context 
import ho.pisa as pisa 
import cStringIO as StringIO 
import cgi 

def write_pdf(template_src, context_dict, filename): 
    template = get_template(template_src) 
    context = Context(context_dict) 
    html = template.render(context) 
    result = open(filename, 'wb') # Changed from file to filename 
    pdf = pisa.pisaDocument(StringIO.StringIO(
     html.encode("UTF-8")), result) 
    result.close() 

你只需要調用write_pdf一個模板,在一個字典和文件名的數據。

+0

謝謝 - 正是我所需要的。 – PhoebeB 2010-05-24 20:30:11