PDF操作练习:
批量给input文件夹下的pdf文件进行水印添加,并输出到output文件夹下:
from reportlab.pdfgen.canvas import Canvas
from PyPDF2 import PdfWriter, PdfReader
import os
# 制作水印页面
iWater = Canvas('files/MyWater.pdf')
iWater.rotate(-45)
iWater.drawImage('files/CFlag.png', -280, 480, width=200, preserveAspectRatio=True)
iWater.rotate(90)
iWater.drawImage('files/CFlag1.png', 500, 60, width=200, preserveAspectRatio=True)
iWater.save()
# 水印制作完成
iFiles = os.listdir("input")
# 1.准备水印页面
reader1 = PdfReader('files/MyWater.pdf')
water = reader1.getPage(0)
path = 'input/'
# 2.准备需要添加水印的文件
for rea in iFiles:
# 读取文件
path += rea
reader2 = PdfReader(path)
path = 'input/'
writer = PdfWriter()
# 循环打水印
for page in reader2.pages:
page.mergePage(water)
writer.addPage(page)
# 保存文件
path1 = 'output/'
path1 += rea
writer.write(path1)
path1 = 'output/'
print(iFiles)