day 21 作业(csv文件与PDF文件的操作)

day 21 作业(csv文件与PDF文件的操作)

作业:将指定文件夹中所有的pdf文件的所有也都添加属于自己的水印
import os
from reportlab.pdfgen import canvas   # 提供PDF文件
from reportlab.pdfbase import pdfmetrics  # 注册字体
from reportlab.pdfbase.ttfonts import TTFont  # 提供字体对象
from PyPDF2 import PdfFileReader, PdfFileWriter
#
# for file_name in os.listdir('./flises'):
#     if file_name[file_name.find('.'):]=='.pdf':

flise_name=os.listdir('flises/pdfs')
# print(flise_name)

# # 创建水印文件
# 注册字体
pdfmetrics.registerFont(TTFont('font1','flise/青呱石头体.ttf'))
pdfmetrics.registerFont(TTFont('font2','flise/bb.ttf'))
pdfmetrics.registerFont(TTFont('font3','flise/dd.ttf'))

# 创建水印文件
pdf=canvas.Canvas('flis2/water.pdf')

pdf.setFont('font2',30)
pdf.setFont('font3',30)

pdf.setFillColorRGB(1,0,0,0.5)

pdf.rotate(45)
pdf.drawString(100,-20,'最珍贵的,往往都是看不到的。')
pdf.drawString(120,20,'最珍贵的,往往都是看不到的。')
pdf.drawString(140,80,'最珍贵的,往往都是看不到的。')

pdf.save()
def add_shui(y):
    ## 添加水印
    water_reder=PdfFileReader(open('flis2/water.pdf','rb'))
    flises_reader=PdfFileReader(open(f'flises/pdfs/{y}','rb'))


    page_num=flises_reader.numPages
    # print(page_num)
    water_page=water_reder.getPage(0)
    writer = PdfFileWriter()
    for x in range(page_num):
        pagex=flises_reader.getPage(x)
        pagex.mergePage(water_page)
        writer.addPage(pagex)
    writer.write(open(f'flis2/{y}','wb'))

for y in flise_name:
    add_shui(y)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值