今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍!
需求
需要从 PDF 中取出几页并将其保存为新的 PDF,为了后期使用方便,这个工具需要做成傻瓜式的带有 GUI 页面的形式
选择源 pdf 文件,再指定下生成的新的 pdf 文件名称及保存位置,和需要拆分的 page 信息,就可以得到新的 pdf 文件了
需求解析
对于 Python GUI,我们有太多种选择了,下面我们先来横向的简单对比下
从高层次上看,大的 GUI 工具有:
-
Qt -
WxWindows -
Tkinter -
Customer libraries(Kivy,Toga等) -
Web相关(HTML,Flask等)
不过今天,我们选择的工具是 appJar,这是一个由一位从事教育工作的大神发明的,所以它可以提供一个更加简单的 GUI 创建过程,而且是完全基于 Tkinter 的,Python 默认支持
代码实现
首先为了实现 PDF 操作,我这里选择了 pypdf2 库
我们先硬编码一个输入输出的示例
from PyPDF2 import PdfFileWriter, PdfFileReader
infile = "Input.pdf"
outfile = "Output.pdf"
page_range = "1-2,6"
接下来我们实例化 PdfFileWriter 和 PdfFIle