day11-pdf文件操作

day11-pdf文件操作

01pdf文件读操作
from PyPDF2 import PdfReader

# 1. 打开pdf文件
f = open('./files/MySQL.pdf', 'rb')

# 2. 创建PdfReader对象
reader = PdfReader('files/MySQL.pdf')

# 3. 获取总页数
num = reader.numPages
print(num)

# 4. 获取指定页
page1 = reader.getPage(0)
print(page1)
02pdf文件写操作
from PyPDF2 import PdfWriter, PdfReader

# 准备数据
reader = PdfReader('files/MySQL.pdf')

# 1. 新建PdfWriter对象
writer = PdfWriter()

# 2. 添加页
# 1) 添加从另外一个pdf文件中获取到的一页
writer.add_page(reader.getPage(0))
# 2) 添加空白页
writer.add_blank_page()

# 3. 将数据写入到pdf文件(保存)
writer.write('files/data1.pdf')
03添加水印
from PyPDF2 import PdfReader, PdfWriter

# 1. 获取水印页和需要添加水印的页
water = PdfReader('files/water.pdf').getPage(0)
page = PdfReader('files/MySQL.pdf').getPage(0)

# 2. 添加水印
# 需要添加水印的页.mergePage(水印页)
page.mergePage(water)

# 3. 将添加完水印的页写入到一个新的pdf文件中
writer = PdfWriter()
writer.add_page(page)
writer.write('files/data2.pdf')
04创建水印
# 创建空白pdf文件(创建画布)的工具
# import ...

# 1. 创建空白的画布对应的pdf文件
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfgen import canvas

can = canvas.Canvas('files/myWater.pdf')

# 2. 添加文字内容
# 1) 注册字体名称
# 创建字体对象: TTFont(字体名称, ttf字体文件路径)
font1 = TTFont('f1', 'files/font1.ttf')
font2 = TTFont('f2', 'files/font2.ttf')

# 注册字体
pdfmetrics.registerFont(font1)
pdfmetrics.registerFont(font2)

# 2) 添加文字
# a. 设置字体
can.setFont('f2', 30)
# b. 设置文字颜色
can.setFillColorRGB(219/255, 112/255, 147/255, 0.6)
# c. 旋转
can.rotate(45)
# d. 渲染文字
can.drawString(400, 200, '你好,世界!')

can.setFont('f1', 30)
can.setFillColorRGB(46/255, 139/255, 87/255, 0.6)
can.rotate(-45)
can.drawString(100, 100, 'hello world!')

# 3. 添加图片
can.drawImage('files/b.jpeg', 100, 200)

# 保存文件
can.save()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值