Как изменить размер страницы в pdf, сгенерированном pisa

Я создаю PDF из моей HTML-страницы, используя Пизу в рамках Django. Может кто-нибудь, пожалуйста, скажите мне, как настроить размер страницы PDF. Я пытался использовать A5, но это не отражает. Пожалуйста, найдите код ниже:

       context_dict = {
            'pagesize':'A5',
            'result_detail': obj.result_object(slug, roll_no),
            'roll_no': roll_no
       }
       template = get_template('widgets/result.html')
       context = Context(context_dict)
       html  = template.render(context)
       result = StringIO.StringIO()
       pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result)

2 ответа

Решение

Вы можете сделать это, перегрузив определение CSS по умолчанию.
Чтобы получить текущий CSS по умолчанию, используйте инструмент командной строки, например:

xhtml2pdf --css-dump > /path-to-your-project/default.css

Затем откройте полученный файл и вставьте следующую строку в конце:

@page { size: A5 }

В своем коде вы можете использовать полученный файл следующим образом:

pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result,  default_css=open('default.css','r').read())

Простое написание фрагмента ниже в теге стиля помогло мне.

      @page { size: A5 }
Другие вопросы по тегам