У меня есть pisa, создающий .pdf файлы в django в браузере, но что, если я хочу автоматически записать файл на диск? Что я хочу сделать, так это иметь возможность сгенерировать файл версии .pdf в указанные моменты времени и сохранить его в каталоге загрузок, чтобы не было взаимодействия с браузером. Это возможно?
Использование Пизы для записи PDF на диск
Ответы (1)
Да, это возможно. например, используя код от Грега Ньюмана в качестве стартера:
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 с шаблоном, данными в dict и именем файла.
person
Nathan
schedule
24.05.2010