本文部分参考:https://blog.csdn.net/oh5w6hinug43jvrhhb/article/details/80879026
本文先分别讲解整个代码各个步骤的含义,最后会附上完整代码,需要的童鞋可以边对照代码边理解本文。
- 设置路径
import os
os.getcwd()
os.chdir('E:\\python\\test\\pdf批量加水印\\')
先设置路径,把需要加水印的相关文档放入一个目录下。我的目录是:E:\python\test\pdf批量加水印os.chdir('E:\\python\\test\\pdf批量加水印\\')
- 准备水印pdf文件
from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont('song', 'C:/Windows/Fonts/simsun.ttc'))#宋体
from PyPDF2 import PdfFileWriter,PdfFileReader
import xlrd
def create_watermark(content):
#默认大小为21cm*29.7cm
c = canvas.Canvas('mark.pdf', pagesize = (30*cm, 30*cm))
c.translate(10*cm, 10*cm) #移动坐标原点(坐标系左下为(0,0)))
c.setFont('song',22)#设置字体为宋体,大小22号
c.setFillColorRGB(0.5,0.5,0.5)#灰色
c.rotate(45)#旋转45度,坐标系被旋转
c.drawString(-7*cm, 0*cm, content)
c.drawString(7*cm, 0*cm, content)
c.drawString(0*cm, 7*cm, content)
c.drawString(0*cm, -7*cm, content)