3

我正在使用 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)
4

1 回答 1

5

您可以通过重载默认 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())
于 2014-04-29T13:47:08.847 回答