2010-05-24 6 views
7

Ich habe Pisa Produktion von .pdfs in Django im Browser gut, aber was ist, wenn ich die Datei automatisch auf die Festplatte schreiben möchte? Ich möchte eine .pdf-Versionsdatei zu bestimmten Zeitpunkten erstellen und sie in einem Upload-Verzeichnis speichern, so dass keine Interaktion mit dem Browser stattfindet. Ist das möglich?Verwenden von Pisa zum Schreiben einer PDF auf Festplatte

Antwort

12

Ja, es ist möglich. beispielsweise unter Verwendung von Code aus Greg Newman als Starter:

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

Sie müssen nur write_pdf mit einer Vorlage, Daten in einem dict und ein Dateinamen nennen.

+0

Danke - genau das, was ich brauchte. – PhoebeB