def beforeDrawPage(self,canvas,doc): canvas.setFont(serif_font,10) canvas.setLineWidth(0) #header canvas.line(header_margin_hor, page_height - header_margin_vert, page_width - header_margin_hor, page_height - header_margin_vert ) if pdfstyles.show_page_header: canvas.saveState() canvas.resetTransforms() canvas.translate(header_margin_hor, page_height - header_margin_vert - 0.1*cm) p = Paragraph(self.title, text_style()) p.canv = canvas p.wrap(page_width - header_margin_hor*2.5, page_height) # add an extra 0.5 margin to have enough space for page number p.drawPara() canvas.restoreState() canvas.drawRightString(page_width - header_margin_hor, page_height - header_margin_vert + 0.1 * cm, "%d" % doc.page) #Footer canvas.saveState() canvas.setFont(serif_font,8) canvas.line(footer_margin_hor, footer_margin_vert, page_width - footer_margin_hor, footer_margin_vert ) if pdfstyles.show_page_footer: p = Paragraph(formatter.cleanText(pagefooter, escape=False), text_style()) p.canv = canvas w,h = p.wrap(page_width - header_margin_hor*2.5, page_height) p.drawOn(canvas, footer_margin_hor, footer_margin_vert - 10 - h) canvas.restoreState()
def beforeDrawPage(self, canvas, doc): canvas.setFont(serif_font, 10) canvas.setLineWidth(0) #header canvas.line(header_margin_hor, page_height - header_margin_vert, page_width - header_margin_hor, page_height - header_margin_vert) if pdfstyles.show_page_header: canvas.saveState() canvas.resetTransforms() if not self.rtl: h_offset = header_margin_hor else: h_offset = 1.5 * header_margin_hor canvas.translate(h_offset, page_height - header_margin_vert - 0.1 * cm) p = Paragraph(self.title, text_style()) p.canv = canvas p.wrap( page_width - header_margin_hor * 2.5, page_height ) # add an extra 0.5 margin to have enough space for page number p.drawPara() canvas.restoreState() if not self.rtl: h_pos = page_width - header_margin_hor d = canvas.drawRightString else: h_pos = header_margin_hor d = canvas.drawString #d(h_pos, page_height - header_margin_vert + 0.1 * cm, "%d" % doc.page) #Footer canvas.saveState() canvas.setFont(serif_font, 8) canvas.line(footer_margin_hor, footer_margin_vert, page_width - footer_margin_hor, footer_margin_vert) if pdfstyles.show_page_footer: p = Paragraph(formatter.cleanText(pagefooter, escape=False), text_style()) p.canv = canvas w, h = p.wrap(page_width - header_margin_hor * 2.5, page_height) p.drawOn(canvas, footer_margin_hor, footer_margin_vert - 10 - h) d(page_width / 2, footer_margin_vert - 15 - h, "%d" % doc.page) canvas.restoreState()