day21-pdf作业
给文件添加水印1
from PyPDF2 import PdfFileReader, PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import os
import reportlab
pdfmetrics.registerFont(TTFont('font1', 'files02/bb.ttf'))
pdfmetrics.registerFont(TTFont('font2', 'files02/青呱石头体.ttf'))
pdfmetrics.registerFont(TTFont('font3', 'files02/dd.ttf'))
pdf = canvas.Canvas('files02/water02.pdf')
pdf.rotate(45)
pdf.setFont('font3', 50)
pdf.setFillColorRGB(0, 0, 1, 0.5)
pdf.drawString(250, 100, '紫檀香做这个玩意都要做疯了')
pdf.save()
"""
第一步:用循环获取文件夹里面每一个pdf到的文件名,并存起来
第二步:用循环获取每个pdf文件的内容并印上水印
第三步:把所有的循环封装成函数
第四步:简化程序
"""
reader1 = PdfFileReader(open('作业data/HEU_KMS_Activator_v20.0.0用户使用手册.pdf', 'rb'))
reader2 = PdfFileReader(open('作业data/存储引擎的讲解.pdf', 'rb'))
reader3 = PdfFileReader(open(r'作业data/Python.pdf', 'rb'))
reader_water = PdfFileReader(open('files02/water02.pdf', 'rb'))
page_num1 = reader1.numPages
page_num2 = reader2.numPages
page_num3 = reader3.numPages
water_page = reader_water.getPage(0)
writer1 = PdfFileWriter()
writer2 = PdfFileWriter()
writer3 = PdfFileWriter()
for i in range(page_num1):
reader1.getPage(i).mergePage(water_page)
writer1.addPage(reader1.getPage(i))
for x in range(page_num2):
reader2.getPage(x).mergePage(water_page)
writer2.addPage(reader2.getPage(x))
for z in range(page_num3):
reader3.getPage(z).mergePage(water_page)
writer3.addPage(reader3.getPage(z))
writer1.write(open('作业data/new_用户手册.pdf', 'wb'))
writer2.write(open('作业data/new_存储引擎.pdf', 'wb'))
writer3.write(open('作业data/new_课程大纲.pdf', 'wb'))
给pdf文件添加水印2
import os
from PyPDF2 import PdfFileReader, PdfFileWriter
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('font1', 'files02/bb.ttf'))
pdfmetrics.registerFont(TTFont('font2', 'files02/青呱石头体.ttf'))
pdfmetrics.registerFont(TTFont('font3', 'files02/dd.ttf'))
pdf = canvas.Canvas('files02/water02.pdf')
pdf.rotate(45)
pdf.setFont('font3', 50)
pdf.setFillColorRGB(0, 0, 1, 0.5)
pdf.drawString(250, 100, '紫檀香做这个玩意都要做疯了')
pdf.save()
reader_water = PdfFileReader(open('files02/water02.pdf', 'rb'))
os.mkdir('data02')
for file_name in os.listdir('data02'):
if file_name[-4:] == '.pdf':
result = open('data02' + file_name, 'rb')
file_reader = PdfFileReader(result)
page_num = file_reader.numPages
water_page = reader_water.getPage(0)
empty = PdfFileWriter()
for x in range(page_num):
file_reader.getPage(x).mergePage(water_page)
empty.addPage(file_reader.getPage(x))
empty.write(open('data02/new_' + file_name, 'wb'))