以下是基于鱼皮的视频和文章写的
鱼皮的文章
1. 安装python
安装python还是很简单的,直接去百度,到python官网安装,官网在下面,安装的话就安装最新般的就可以了,记得在安装的时候要把配置环境变量勾上;
2. 安装需要的包
pip install PyPDF2
上代码
代码如下,非常通俗易懂:
from PyPDF2 import PdfFileMerger
# 定义一个容器,存储所有页面
merger = PdfFileMerger()
# 读取文件
input1 = open("document1.pdf", "rb")
input2 = open("document2.pdf", "rb")
# 插入 pdf1 的前三页
merger.append(fileobj = input1, pages = (0,3))
# 插入 pdf2 的第一页
merger.merge(fileobj = input2, pages = (0,1))
# 写入一个新的 PDF 文件,输出
output = open("document-output.pdf", "wb")
merger.write(output)
我们可以随便找两个 PDF 文件来测试下,先跑通 Demo 再去做进一步的修改。
上述代码运行成功后,我们可以支持用户自己输入要合并的 PDF 文件名,并且自定义第二个要拼接的 PDF 的起始页数。
比如第一个 PDF 只有一页封面,第二个 PDF 拼接起始页为第二页,二者合并,就实现了替换 PDF 文件封面的效果。
最终代码如下:
from PyPDF2 import PdfFileMerger, PdfFileReader
merger = PdfFileMerger()
# input 函数接受用户输入
inputStr1 = input("请输入封面")
inputStr2 = input("请输入pdf")
startNum = input("请输入pdf起始页")
input1 = open(inputStr1, "rb")
input2 = open(inputStr2, "rb")
# 获取 pdf 对象
pdf = PdfFileReader(input2)
# 拼接 pdf1 的第一页
merger.append(fileobj = input1, pages = (0,1))
# 拼接 pdf2 的第二~尾页
merger.append(fileobj = input2, pages = (int(startNum), pdf.getNumPages()))
# Write to an output PDF document
output = open("document-output.pdf", "wb")
merger.write(output)
上面所有的参数都是可以修改的,大家甚至可以 开发一个界面,支持用户在输入框设置参数,从而让工具变得更易用!
作者:程序员鱼皮
https://www.bilibili.com/read/cv10391851
出处: bilibili