day-21作业

day-21作业

"""
好好学习 天天向上!
Autehor:小张
Time: 2021/12/27 17:50
"""
import os
from reportlab.pdfgen import canvas  # 提供pdf文件
from reportlab.pdfbase import pdfmetrics  # 注册字体
from reportlab.pdfbase.ttfonts import TTFont  # 提供字体对象
from PyPDF2 import PdfFileWriter, PdfFileReader

# def pdf(new):  # pdf水印函数
#     new.setFont('font', 30)  # pdf水印字体
#     new.setFillColorRGB(1, 0, 0, 1)  # pdf水印颜色
#     new.rotate(15)  # pdf水印字体旋转角度
#     new.drawString(250, 500, '千锋教育!')  # pdf水印字体位置内容
#     new.save()  # 保存水印
# 1.获取文件夹中pdf文件名
name = []
for file_name in os.listdir('.\\files'):
    if file_name[-4:] == '.pdf':
        name.append(file_name)

# 2.创建水印文件
pdfmetrics.registerFont(TTFont('font', r'files\bb.ttf'))
new = canvas.Canvas('files\\water.pdf')
new.setFont('font', 30)  # pdf水印字体
new.setFillColorRGB(1, 0, 0, 0.5)  # pdf水印颜色
new.rotate(15)  # pdf水印字体旋转角度
new.drawString(250, 500, '千锋教育!')  # pdf水印字体位置内容
new.save()  # 保存水印

# 3.添加水印
water_reader = PdfFileReader(open('files\water.pdf', 'rb'))  # 1.准备水印文件
writer = PdfFileWriter()
for y in name:
    file_reader = PdfFileReader(open(fr'files\{y}', 'rb'))  # 2.准备源文件
    water_page = water_reader.getPage(0)
    num = file_reader.numPages
    for x in range(0, num):
        page1 = file_reader.getPage(x)
        page1.mergePage(water_page)
        writer.addPage(page1)
    writer.write(open(fr'files\new\new_{y}', 'wb'))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值