Используя Пизу для записи PDF в диск

У меня есть Пиза, производящая .pdfs в django в прекрасном браузере, но что, если я хочу автоматически записать файл в диск? То, что я хочу сделать, должно смочь генерировать файл версий pdf в указанных моментах времени и сохранить его в каталоге загрузок, таким образом, нет никакого взаимодействия браузера. Действительно ли это возможно?

8
задан PhoebeB 24 May 2010 в 19:49
поделиться

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 и именем файла.

14
ответ дан 5 December 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: