pdf文件批量添加特定水印

import os
import reportlab as reportlab
from PyPDF2 import PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas  # 提供pdf文件
from reportlab.pdfbase import pdfmetrics  # 注册字体
from reportlab.pdfbase.ttfonts import TTFont  # 提供字体对象


def water():
    pdfmetrics.registerFont(TTFont('字体1', '青呱石头体.ttf'))
    pdf = canvas.Canvas('water.pdf')
    pdf.setFont('字体1', 60)
    pdf.setFillColorRGB(0.3, 0.4, 0.5, 0.5)
    pdf.rotate(45)
    pdf.drawString(350, 0, '张小海')
    pdf.save()


def add_watermark(file, water):
    water_reader = PdfFileReader(open(water, 'rb'))
    file_reader = PdfFileReader(open(f'pdfs/{file}', 'rb'))
    water_page = water_reader.getPage(0)
    writer = PdfFileWriter()
    a = file[0:-4]
    for i in range(file_reader.numPages):
        page = file_reader.getPage(i)
        page.mergePage(water_page)
        writer.addPage(page)
    writer.write(open(f'{a}水印.pdf', 'wb'))


water()
for i in os.listdir('pdfs'):
    if i.endswith('.pdf'):
        add_watermark(i, 'water.pdf')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值