如何更改pisa生成的pdf页面大小

时间:2014-04-29 10:17:11

标签: python django pisa

我在django框架中使用pisa从我的html页面创建pdf。任何人都可以告诉我如何调整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)

1 个答案:

答案 0 :(得分:1)

您可以通过重载默认的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())