1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【Python】Python辦公自動(dòng)化 | 一鍵給PDF文件加密,超方便

        共 1865字,需瀏覽 4分鐘

         ·

        2022-01-10 02:34

        今天給大家做一個(gè)給PDF文件加密的GUI界面(圖形用戶界面),方便現(xiàn)在的一些上班族白領(lǐng)們使用,尤其是需要給一些比較重要的PDF文件加密的時(shí)候,下面我們來看具體的步驟

        給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)
        上述代碼的核心邏輯就在于我們遍歷現(xiàn)有的一個(gè)PDF文件里面的內(nèi)容,將其中的內(nèi)容重新寫入到一個(gè)實(shí)例化的對(duì)象當(dāng)中,然后調(diào)用里面的encrypt()方法來實(shí)現(xiàn)為PDF文件加密,最后再導(dǎo)出到一個(gè)新的PDF文件當(dāng)中,大家可以單獨(dú)運(yùn)行這行代碼來看看具體效果如何

        制作具體的GUI界面

        我們用到的是PySimpleGUI的模塊,而針對(duì)這個(gè)界面布局的設(shè)置,如下圖

        代碼如下

        sg.theme('DarkTeal7')

        layout?=?[
        ????[sg.Text("請(qǐng)選擇要加密的PDF文件,倘若文件較大,加密需要一點(diǎn)時(shí)間")],
        ????[sg.Text('路徑'),?sg.InputText(),?sg.FileBrowse(),],
        ????[sg.Text('密碼'),?sg.InputText(password_char='*')],
        ????[sg.Submit("提交"),?sg.Cancel('退出')]
        ]
        其中sg.theme()代表的是GUI界面的主題,大家可以根據(jù)自己的喜好設(shè)置界面的主題樣式,

        layout列表當(dāng)中的內(nèi)容代表的是整體的布局,

        • sg.Text()設(shè)置文本內(nèi)容和格式
        • sg.FileBrowse()代表的是文件選取的按鈕
        • sg.InputText()代表的是文本內(nèi)容的輸入框,如果輸入的是密碼,則會(huì)相應(yīng)的用"*"來遮蓋住輸入的內(nèi)容

        另外sg.window()方法是用來創(chuàng)建窗口,包括窗口上面的名稱

        eventvalues是執(zhí)行window.read()方法所返回的值,其中event是事件,如點(diǎn)擊按鈕、選擇文件等;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()

        帶包代碼

        我們通過調(diào)用Pyinstaller模塊來講Python代碼打包,操作指令如下

        pyinstaller?-F?-w?文件名.py

        部分參數(shù)含義如下

        • -F 表示生成單個(gè)可執(zhí)行文件
        • -W 表示去掉控制臺(tái)窗口,這在GUI界面時(shí)非常有用
        • -i 表示可執(zhí)行文件的圖標(biāo)

        最后出來的效果如下圖

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


        往期精彩回顧




        站qq群955171419,加入微信群請(qǐng)掃碼:

        瀏覽 17
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            清朝古代一级毛片 | 婷婷色九月 | 国产成人综合久久久久99 | 18毛片中国女人好多水 | 搞逼片| 免费无遮挡 视频一集一集的 | 国产午夜网 | 麻花传剧mv无痕免费观看苏语棠 | yy6969久久亚洲精品 | gav在线 |