Issue
I am creating pdf from my html page using pisa in django framework. Can anyone please tell me how to adjust the pdf page size. I tried to use A5 but its not reflecting. Please find the code below:
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)
Solution
You can do it by overloading a default CSS definition.
To get the current default CSS use the command line tool like this:
xhtml2pdf --css-dump > /path-to-your-project/default.css
Then, open the resulting file and insert the following line at the end:
@page { size: A5 }
In your code, you can use the resulting file as follows:
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result, default_css=open('default.css','r').read())
Answered By - NorthCat
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.