使用PyPDF2操作pdf文件

PyPDF2

1..reader实现读操作

# 1.pypdf2使用
# pdfreader读操作
#  1.获取pdf文件相关信息
reader = PdfReader('fifles/MySQL.pdf')
reader2 = PdfReader('fifles/HEU_KMS_Activator_v20.0.0用户使用手册.pdf')
#  2.获取总的页数
num = reader.getNumPages()
#  3.获取指定的页 [下标]
page1 = reader.getPage(0)
cover = reader2.getPage(0)

2..Writer写操作

# pdfwriterm 写操作
writer1 = PdfWriter('fifles/MySQL.pdf')
# 添加页
writer1.addPage(cover)
writer1.write('fifles/MySQL.pdf')
# 添加空白页
writer1.addBlankPage()
# 插入指定页
writer1.insertPage(cover,2)
# 添加水印
# 准备水印页
reader1 = PdfReader('fifles/water.pdf')
water = reader1.getPage(0)
# 准备需要添加水印的文件
reader2 = PdfReader('fifles/HEU_KMS_Activator_v20.0.0用户使用手册.pdf')
page = reader2.getPage(1)	#赋值为页数的下标
# 添加水印
page.mergePage(water)	#括号内赋值水印
# 创建新pdf文件保存添加了水印的文件
witer1 = PdfWriter()
witer1.addPage(page)
#保存
witer1.write('fifles/new.pdf')

3.reportlab 创建水印

# 用来创建画布
from reportlab.pdfgen.canvas import Canvas
from reportlab.pdfbase.pdfmetrics import registerFont
from reportlab.pdfbase.ttfonts import TTFont

# 注册字体
# 将字体文件放到文件目录下,f1名字自己起,后边引用写这个名字
registerFont(TTFont('f1', 'fifles/aa.ttf'))

# 创建一个空白的文件: Canvas(文件路径)
# 创建水印文件
file = Canvas('fifles/mywater.pdf')
# 添加文字
# 设置字体的名字和字体大小
file.setFont('f1', 60)
# 设置颜色透明度	.setFillColorRGB(r, g, b, 透明度(alpha=0.5)1为完全透明,0为完全不透明)rgb的值最大1最小0
file.setFillColorRGB(0, 1, 1, alpha=0.5)
# 旋转 
file.rotate(45)
# 水印文字内容	.drawString(水平位置, 垂直位置, 文字内容)
file.drawString(500, 160, '你好世界')

# 渲染图片
# 旋转角度
file.rotate(-45)
# 添加图片
file.drawImage('fifles/car.png', 0, 0, mask='auto')
# 保存
file.save()

你可能感兴趣的:(自动化办公,pdf,python)