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)