<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python辦公自動化 | 一鍵給PDF文件加密,超方便

          共 1908字,需瀏覽 4分鐘

           ·

          2022-01-09 19:57


          今天給大家做一個給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的模塊,而針對這個界面布局的設置,如下圖

          代碼如下

          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()方法是用來創(chuàng)建窗口,包括窗口上面的名稱

          eventvalues是執(zhí)行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 表示生成單個可執(zhí)行文件
          • -W 表示去掉控制臺窗口,這在GUI界面時非常有用
          • -i 表示可執(zhí)行文件的圖標

          最后出來的效果如下圖

          PDF文件(默認保存在本地電腦的桌面)也被添加上了密碼,如下圖

          各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)

          推薦閱讀


          牛逼!Python常用數據類型的基本操作(長文系列第①篇)

          牛逼!Python的判斷、循環(huán)和各種表達式(長文系列第②篇)

          牛逼!Python函數和文件操作(長文系列第③篇)

          牛逼!Python錯誤、異常和模塊(長文系列第④篇)


          瀏覽 33
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美一级A片免费看 | 福利一区二区 | 亚洲成人一区二区 | 你懂的网址国产,欧美 | 国产女人18毛片18精品 |