2010-05-24 16 views
7

Tarayıcıda django'da pisa üreten .pdfs var, ama dosyayı diske otomatik olarak yazmak istersem ne olur? Ne yapmak istediğim, belirli bir zamanda bir .pdf sürüm dosyası oluşturabilmek ve bir yükleme dizinine kaydedebilmek için tarayıcı etkileşimi olmamasıdır. Mümkün mü?Pisa diske pdf yazmak için

cevap

12

Evet, mümkün. Örneğin, bir başlangıç ​​olarak Greg Newman kodunu kullanarak:

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() 

Sadece bir dict ve bir dosya adı veri, bir şablonla write_pdf çağırmanız gerekir.

+0

Teşekkürler - sadece ihtiyacım olan şey. – PhoebeB