python办公自动化之pdf篇 day03+(pdf书籍广告是怎么加上去的)

PyPDF2模块PdfFileWriter和PdfFileReader能干啥

前面两天我讲解了两个模块的基本操作,包括属性和方法,感觉都也就那样,好像没有什么用似的,但是往深入想一下,一旦能读取,能遍历,能写,day01讲解的官方的功能:逐页拆分文档、逐页合并文档、裁剪页面、将多个页面合并为一个页面实际上都能实现了(我在实战中会对应讲解)

你下载的PDF里的广告是怎么加上去的

我们从网络上下载PDF文件阅读时候,经常碰到添加作者logo的文件,有时候是首页、尾页,有时候是中间页随机添加,这到底是怎么实现的呢,看我用python模拟一下吧。

1、用到的知识点:

Python的for循环及random模块,python处理PDF的PyPDF模块:PdfFileReader读取模块常用属性方法,PdfFileWriter写模块常用属性方法等。

2、操作步骤思维导图:

3、用到的文件及核心思想:

用到的两个PDF文件:唐诗三百首.pdf,个人logo:ad.pdf


4、代码操作编写截图:

give your the code:

# 导入模块并且简单化
from PyPDF2 import PdfFileReader as pdfreader 
from PyPDF2 import PdfFileWriter as pdfwriter
import random
# 读取准备阶段
rpdf = pdfreader('唐诗三百首.pdf')#读取唐诗
ad = pdfreader('ad.pdf') # 读取logo
adpage = ad.getPage(0) #获取logo页面
wpdf = pdfwriter() #准备写入对象

wpdf.addPage(adpage) # 首页添加作者logo页
# 准备随机数,logo页面要插入的随机页面
rand_num = random.randint(1,rpdf.numPages-1)
 #循环遍历文件读取器唐诗三百首所有页
for i in range(rpdf.numPages):
    tmp_page = rpdf.getPage(i) #读取一页
    if i == rand_num:
        wpdf.insertPage(adpage,i) #随机页添加logo
    wpdf.addPage(rpdf.getPage(i)) # 写入器添加对应的页
wpdf.addPage(adpage) # 尾页添加作者logo页
# 保存写入器数据文件
with open('唐诗三百首_ad.pdf','wb') as f:
    wpdf.write(f)


通过这小节课,聪明的你大致明白了你下载的PDF文件是怎么加入作者logo的了吧,本节文本配套的视频请稍后参阅。

原文链接:,转发请注明来源!