Ho pisa che produce file pdf in django nel browser bene, ma cosa succede se voglio scrivere automaticamente il file su disco? Quello che voglio fare è essere in grado di generare un file di versione .pdf in punti specifici nel tempo e salvarlo in una directory di upload, quindi non c'è interazione con il browser. È possibile?Utilizzo di Pisa per scrivere un pdf su disco
7
A
risposta
12
Sì, è possibile. per esempio, utilizzando il codice da Greg Newman come antipasto:
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()
Hai solo bisogno di chiamare write_pdf con un modello, i dati in un dict e un nome di file.
Grazie - proprio quello di cui avevo bisogno. – PhoebeB