欢迎访问宙启技术站
智能推送

Python中使用PdfFileWriter()创建带页眉页脚的PDF文档

发布时间:2023-12-11 05:16:53

在Python中可以使用PyPDF2库来创建带有页眉、页脚的PDF文档。下面是一个简单的使用示例:

首先,确保已经安装了PyPDF2库:

pip install PyPDF2

然后,导入所需的模块:

from PyPDF2 import PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas

接下来,我们可以创建一个函数来添加页眉和页脚:

def add_header_footer(input_file, output_file):
    pdf = PdfFileReader(input_file)
    output = PdfFileWriter()

    for page_number in range(pdf.getNumPages()):
        page = pdf.getPage(page_number)
        width = float(page.mediaBox.getWidth())
        height = float(page.mediaBox.getHeight())

        # 创建一个新的空白页面
        c = canvas.Canvas("tmp.pdf", pagesize=(width, height))

        # 添加页眉
        c.setFont("Helvetica", 10)
        c.drawString(50, height - 30, "这是页眉")

        # 添加页脚
        c.setFont("Helvetica", 10)
        c.drawString(50, 30, "这是页脚")

        # 将原始页面绘制到新页面上
        c.showPage()
        c.save()

        # 将新页面添加到输出文档中
        tmp_pdf = PdfFileReader("tmp.pdf")
        newpage = tmp_pdf.getPage(0)
        newpage.mergePage(page)
        output.addPage(newpage)

    # 保存输出文档
    with open(output_file, 'wb') as f:
        output.write(f)

最后,我们可以调用这个函数来创建带有页眉页脚的新PDF文档:

add_header_footer("input.pdf", "output.pdf")

注意:在上面的示例中,我们假设已经准备好了一个名为input.pdf的原始PDF文档。函数add_header_footer中使用的页眉和页脚文本可以根据实际需要进行修改。

这样,我们就可以使用Python的PyPDF2库来创建带有页眉和页脚的PDF文档了。