Exemple #1
0
def add_page_num(page, text: str, options):
    # Get page num information
    width, height = (inch * options["page-size"]["width"], inch * options["page-size"]["height"])
    font, size = (options["page-num-font"]["name"], options["page-num-font"]["size"])
    packet = io.BytesIO()

    # Draw text on canvas
    page_num = canvas.Canvas(packet, pagesize=(width, height))
    page_num.setFont(font, size)
    page_num.drawCentredString(1.5 * inch, height - (.02 * size * inch), text)
    page_num.save()

    # Add page number to existing page
    packet.seek(0)
    page_num_pdf = PdfFileReader(packet).getPage(0)       
    page_num_pdf.mergePage(page)

    return page_num_pdf