Day9-Python操作pdf作业

Day9-Python操作pdf作业

1.创建我的水印

from reportlab.pdfgen.canvas import Canvas
from reportlab.pdfbase.pdfmetrics import registerFont
from reportlab.pdfbase.ttfonts import TTFont

# 1) 注册文字
registerFont(TTFont('f1', 'files/font1.ttf'))
registerFont(TTFont('f2', 'files/font2.ttf'))

file = Canvas('files/lu的水印.pdf')
# 第一个水印
file.setFont('f1', 40)
file.setFillColorRGB(1, 0, 1, 0.3)
file.rotate(45)
file.drawString(450, 50, '嘻嘻嘻嘻!')
# 第二个
file.setFont('f2', 24)
file.setFillColorRGB(139/255, 0, 1, 139/255)
file.drawString(500, 30, '----CuiLu')

file.drawImage('files/dianyan.png', 400, 40, mask='auto')    # mask='auto' 透明度

file.save()

请添加图片描述

2.给pdf每一页加水印

from PyPDF2 import PdfReader, PdfWriter

reader1 = PdfReader('files/cl水印.pdf.pdf')
water = reader1.getPage(0)
reader2 = PdfReader('files/Python操作pdf.pdf')
num = reader2.getNumPages()
writer = PdfWriter()
for x in range(num):
    page1 = reader2.getPage(x)
    page1.mergePage(water)
    writer.addPage(page1)
writer.write('files/cl水印.pdf')

请添加图片描述

3.批量水印

from PyPDF2 import PdfReader, PdfWriter
import os

reader = PdfReader('files/lu的水印.pdf')
water = reader.getPage(0)
result = os.listdir('input')
for x in result:
    reader1 = PdfReader('input/'+ x)
    num = reader1.getNumPages()
    writer = PdfWriter()
    for y in range(num):
        page1 = reader1.getPage(y)
        page1.mergePage(water)
        writer.addPage(page1)
    writer.write('out/'+ x)

请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值