Frage

Ich habe pisa Herstellung .pdfs in django im Browser in Ordnung, aber was ist, wenn ich will, um automatisch die Datei auf der Festplatte schreiben? Was ich tun möchte, ist eine PDF-Version Datei in bestimmten Zeitpunkten und in einem Upload-Verzeichnis speichern generieren zu können, so gibt es keine Browser-Interaktion. Ist das möglich?

War es hilfreich?

Lösung

Ja, es ist möglich. beispielsweise unter Verwendung von Code von 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 Anruf write_pdf mit einer Vorlage, Daten in einem dict und ein Dateinamen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top