day9 python操作pdf

day9 python操作pdf
一、pdf文件读操作
from PyPDF2 import PdfReader, PdfWriter
1)创建reader
reader = PdfReader('files/HEU_KMS_Activator_v20.0.0用户使用手册.pdf')
2) 获取总的页数
num = reader.getNumPages()
3) 获取指定的页(页数从0开始)
p1 = reader.getPage(0)  # 获取第一页
p2 = reader.getPage(1)  # 获取第二页
二、pdf文件写操作

创建一个空的pdf

writer = PdfWriter()
1) 添加页
writer.addPage(p1)    # 在新的pdf文件里面添加之前的每一页
writer.addPage(p2)
2) 添加空白页
writer.addBlankPage()
3)插入指定页
writer.insertPage(p1, 2)  # 在第三页插入一页

保存

writer.write('files/new.pdf')
三、 添加水印
from PyPDF2 import PdfReader, PdfWriter
import os
1.准备水印页面
reader1 = PdfReader('files/water.pdf')
water = reader1.getPage(0)
2.准备需要添加水印的文件
reader2 = PdfReader('files/MySQL.pdf')
page = reader2.getPage(0)
3.添加水印
page.mergePage(water)
4.将添加完水印的页面添加到新的PDF文件中
writer = PdfWriter()
writer.addPage(page)

writer.write('files/水印1.pdf')   # 最后保存

补充:获取文件夹中所有文件的名字:os.listdir(文件夹地址)

result = os.listdir('files')
四、创建水印

先用来创建画布(空白PDF文件)

from reportlab.pdfgen.canvas import Canvas

用来对字体进行注册

from reportlab.pdfbase.pdfmetrics import registerFont
from reportlab.pdfbase.ttfonts import TTFont
1.创建一个空白文件(画布)
# 在指定位置新建空白的PDF文件:Canvas(文件路径)
file = Canvas('files/MYWater.pdf')
2.添加文字 (文字默认为英文)
  • 1)注册字体

 registerFont(TTFont('f1','files/font1.ttf'))
 registerFont(TTFont('f2','files/font2.ttf'))
  • 2)设置字体的名字和字体大小

file.setFont('f1',40)
  • 3 )设置字体颜色

# r、g、b:0 ~ 1
# 透明度:0~1
file.setFillColorRGB(139/255, 69/255, 19/255, 0.5)
  • 4)旋转 —— 文件.rotate(角度)

file.rotate(45)
# 文件对象.drawString(x坐标,y坐标,‘内容’)
file.drawString(0, 0, '你好,世界!')
file.rotate(45)   # 将画布旋转45度
3.渲染图片

文件对象.drawImage('图片地址',x坐标,y坐标,mask='auto')

file.drawImage('files/car.png', 0, 0, mask='auto')
file.rotate(-45)  # 将图片水印放回原角度
file.save()   # 最后保存
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值