python自动打开pdf文件(Python如何一键给PDF文件加密)

python自动打开pdf文件(Python如何一键给PDF文件加密)(1)

今天给大家做一个给PDF文件加密的GUI界面(图形用户界面),方便现在的一些上班族白领们使用,尤其是需要给一些比较重要的PDF文件加密的时候,下面我们来看具体的步骤

给PDF文件加密

首先我们需要清楚的是如何给PDF文件加密,这里需要用到的是 PyPDF2 ,代码如下

from PyPDF2 import PdfFileReader, PdfFileWriter encrypted_file = PdfFileWriter() original = PdfFileReader("PDF文件所在的路径") number_of_pages = original.numPages for i in range(number_of_pages): page = original.getPage(i) encrypted_file.addPage(page) password = "密码" encrypted_file.encrypt(password) with open("新生成的PDF的路径", "wb")as file: encrypted_file.write(file)

PDF encrypt() PDF PDF

制作具体的GUI界面

我们用到的是 PySimpleGUI 的模块,而针对这个界面布局的设置,如下图

python自动打开pdf文件(Python如何一键给PDF文件加密)(2)

代码如下

sg.theme('DarkTeal7') layout = [ [sg.Text("请选择要加密的PDF文件,倘若文件较大,加密需要一点时间")], [sg.Text('路径'), sg.InputText(), sg.FileBrowse(),], [sg.Text('密码'), sg.InputText(password_char='*')], [sg.Submit("提交"), sg.Cancel('退出')] ]

其中 sg.theme() 代表的是 GUI 界面的主题,大家可以根据自己的喜好设置界面的主题样式,

layout 列表当中的内容代表的是整体的布局,

  • sg.Text() 设置文本内容和格式
  • sg.FileBrowse() 代表的是文件选取的按钮
  • sg.InputText() 代表的是文本内容的输入框,如果输入的是密码,则会相应的用"*"来遮盖住输入的内容

另外 sg.window() 方法是用来创建窗口,包括窗口上面的名称

event values window.read() event values

window = sg.Window('给指定的PDF文件添加加密', layout) while True: event, values = window.read() if event in ('None', '退出'): break if event == "提交": encry_pdf_files(values[0], values[1]) sg.popup('完成!!新生成的pdf文件在您的桌面') break window.close()

带包代码

我们通过调用 Pyinstaller 模块来讲 Python 代码打包,操作指令如下

pyinstaller -F -w 文件名.py

部分参数含义如下

  • -F 表示生成单个可执行文件
  • -W 表示去掉控制台窗口,这在GUI界面时非常有用
  • -i 表示可执行文件的图标

最后出来的效果如下图

python自动打开pdf文件(Python如何一键给PDF文件加密)(3)

PDF 文件(默认保存在本地电脑的桌面)也被添加上了密码,如下图

python自动打开pdf文件(Python如何一键给PDF文件加密)(4)

获取本次的可执行文件 可以后台私信“333”,感谢您的关注!!!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页