首页 > 解决方案 > 使用报告实验室画布的空白页

问题描述

我的用例是合并文件夹中所有可用的 PDF 文件,然后将“xxxx”和“11 页的第 1 页”作为页脚添加到所有页面。

我一直在为我的用例使用报告实验室,但是通过 Adob​​e Distiller 生成的 PDF 文件呈现为空白页,其中没有原始 PDF 中的内容,只有“XXXX”和第 2 页,共 11 页”

[input_file = file_name+'.pdf'
output_file = file_name+'.pdf'

# Get pages
reader = PdfReader(input_file)
pages = \[pagexobj(p) for p in reader.pages\]


# Compose new pdf
canvas = Canvas(output_file)        
for page_num, page in enumerate(pages, start=1):

    # Add page
    canvas.setPageSize((page.BBox\[2\], page.BBox\[3\]))
    #canvas.setPageSize(14*inch, 8.5*inch)
    #scanvas.setPageSize(self, size)
    #canvas.setPageSize(pair)
    canvas.doForm(makerl(canvas, page))

    # Draw footer
    footer_text1 = "xxxx"
    footer_text = "Page %s of %s" % (page_num, len(pages))
    x = 128
    y = 10
    canvas.saveState()
    canvas.setStrokeColorRGB(0, 0, 0)
    #canvas.setLineWidth(0.5)
    #canvas.line(66, 78, page.BBox\[2\] - 66, 78)
    canvas.setFont('Times-Roman', 10)
    canvas.drawString(page.BBox\[2\]-x, 20, footer_text)
    canvas.drawString(35, 20, footer_text1)
        #canvas.drawString(100, 20, footer_text)
    canvas.restoreState()

    canvas.showPage()

canvas.save()][1]

标签: pythonreportlab

解决方案


推荐阅读