day21-PDF文件操作作业

这段代码定义了两个函数,`water_()`用于创建带有指定文字水印的PDF,`file_()`则用于获取指定目录下所有PDF文件的列表。在主程序中,首先调用`water_()`生成水印PDF,然后遍历所有PDF文件,使用`water_page`作为水印合并到每个PDF页面上,最后将合并后的文件保存到新的目录下。
摘要由CSDN通过智能技术生成
def water_():
    pdfmetrics.registerFont(TTFont('font1', 'files/bb.ttf'))
    pdf = canvas.Canvas('files/water.pdf')
    pdf.setFont('font1', 50)
    pdf.setFillColorRGB(238/255,221/255,130/255,1)
    pdf.rotate(30)
    pdf.drawString(200, 50, '陈仲亮')
    pdf.save()


def file_(path):
    pdf_list=[]
    files=os.listdir(f'{path}')     
    for file_name in files:
        if file_name[-4:] == '.pdf':
            pdf_list.append(file_name)     #取出是pdf格式的文件名字,组成个列表
    return pdf_list      


if __name__ == '__main__':
    water_()
    all_pdfs = file_('pdfs')
    print(all_pdfs)
    water_reader = PdfFileReader(open('files/water.pdf', 'rb'))
    water_page = water_reader.getPage(0)
    writer = PdfFileWriter() #弄个空白页
    for pdf in all_pdfs:
        file_reader = PdfFileReader(open(fr'pdfs\{pdf}', 'rb'))
        for index in range(file_reader.numPages):
            page1 = file_reader.getPage(index)
            page1.mergePage(water_page)         # 合并水印页和原文件页
            writer.addPage(page1)

        writer.write(open(fr'pdfs\new_files{pdf}', 'wb'))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值