Использование PISA, чтобы написать PDF на диск

StackOverflow https://stackoverflow.com/questions/2899807

  •  04-10-2019
  •  | 
  •  

Вопрос

У меня есть PISA Projecting .pdfs в Django в браузере Fine, но что, если я хочу автоматически написать файл на диск? То, что я хочу сделать, это уметь генерировать файл версии .pdf в указанные точки во времени и сохранить его в каталоге загрузки, поэтому нет взаимодействия браузера. Это возможно?

Это было полезно?

Решение

Да, это возможно. Например, используя код из Грег Ньюман Как стартер:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top