Как изменить размер страницы в 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 }