<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • Python如何利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼-創(chuàng)新互聯(lián)

            小編給大家分享一下Python如何利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

            10年的汕頭網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整汕頭建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“汕頭網(wǎng)站設(shè)計(jì)”,“汕頭網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

            Python中可以利用PyPDF2庫(kù)來(lái)獲取該pdf文件的總頁(yè)碼,可以根據(jù)下面的方法一步步進(jìn)行下去:

            1、首先,要安裝PyPDF2庫(kù),利用以下命令即可:

            pip install PyPDF2

            2、接著,就是直接編寫代碼了,其中我新建了一個(gè)py文件,名為file_utils.py,代碼如下:

            from PyPDF2 import PdfFileReader
             
            def get_num_pages(file_path):
             """
             獲取文件總頁(yè)碼
             :param file_path: 文件路徑
             :return:
             """
             reader = PdfFileReader(file_path)
             # 不解密可能會(huì)報(bào)錯(cuò):PyPDF2.utils.PdfReadError: File has not been decrypted
             if reader.isEncrypted:
              reader.decrypt('')
             page_num = reader.getNumPages()
             return page_num

            3、這樣就可以獲得該pdf文件的總頁(yè)數(shù)了,但是需要傳遞文件路徑進(jìn)去,因?yàn)樾枰x取這個(gè)文件。

            4、以上內(nèi)容僅供學(xué)習(xí)參考,謝謝!

            補(bǔ)充知識(shí):使用python合并pdf文件帶書簽

            1、需求:

            將幾本紙質(zhì)書進(jìn)行了掃描,可是掃描的每頁(yè)生成一個(gè)pdf文件。需要怎么才能把這些pdf文件合成一個(gè)呢?adoba acrobat工具支持,可是收費(fèi)。我們平時(shí)用的都是adoba reader,只有讀pdf的功能沒(méi)有合并等高級(jí)功能。網(wǎng)上的一些免費(fèi)工具又擔(dān)心有病毒或綁定程序。

            所以考慮看看pyton實(shí)現(xiàn)。網(wǎng)上找了下python合并pdf的腳本,發(fā)現(xiàn)也沒(méi)有添加書簽的功能的,有添加書簽的也不是很靈活。

            所有對(duì)網(wǎng)上找的一個(gè)python程序進(jìn)行了升級(jí),可以實(shí)現(xiàn)合并pdf并每個(gè)章節(jié)加入書簽。

            文件準(zhǔn)備:

            先將掃描的pdf文件,每一章放到一個(gè)文件夾中,文件夾名字用章節(jié)名命名。這樣最終程序就能將章節(jié)名作為書簽了,而不是默認(rèn)將每頁(yè)都生成書簽。

            Python如何利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼

            2、程序代碼

            代碼運(yùn)行環(huán)境:python3

            需要安裝PyPDF2包:pip install PyPDF2

            #!/usr/bin/env python3
            # -*- coding: utf-8 -*-
            '''
             本腳本用來(lái)合并pdf文件,支持帶一級(jí)子目錄的
             每章內(nèi)容分別放在不同的目錄下,目錄名為章節(jié)名
             最終生成的pdf,按章節(jié)名生成書簽
            '''
            
            import os, sys, codecs
            from PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMerger
            import glob
            
            def getFileName(filepath):
             '''
              獲取當(dāng)前目錄下的所有pdf文件
             '''
             file_list = glob.glob(filepath+"/*.pdf")
             # 默認(rèn)安裝字典序排序,也可以安裝自定義的方式排序
             # file_list.sort()
             return file_list
            
            
            def get_dirs(filepath='', dirlist_out=[], dirpathlist_out=[]):
             # 遍歷filepath下的所有目錄
             for dir in os.listdir(filepath):
              dirpathlist_out.append(filepath + '\\' + dir)
            
             return dirpathlist_out
            
            
            def merge_childdir_files(path):
             '''
              每個(gè)子目錄下合并生成一個(gè)pdf
             '''
             dirpathlist = get_dirs(path)
             if len(dirpathlist) == 0:
              print("當(dāng)前目錄不存在子目錄")
              sys.exit()
             for dir in dirpathlist:
              mergefiles(dir, dir)
            
            
            def mergefiles(path, output_filename, import_bookmarks=False):
             # 遍歷目錄下的所有pdf將其合并輸出到一個(gè)pdf文件中,輸出的pdf文件默認(rèn)帶書簽,書簽名為之前的文件名
             # 默認(rèn)情況下原始文件的書簽不會(huì)導(dǎo)入,使用import_bookmarks=True可以將原文件所帶的書簽也導(dǎo)入到輸出的pdf文件中
             merger = PdfFileMerger()
             filelist = getFileName(path)
             if len(filelist) == 0:
              print("當(dāng)前目錄及子目錄下不存在pdf文件")
              sys.exit()
             for filename in filelist:
              f = codecs.open(filename, 'rb')
              file_rd = PdfFileReader(f)
              short_filename = os.path.basename(os.path.splitext(filename)[0])
              if file_rd.isEncrypted == True:
               print('不支持的加密文件:%s'%(filename))
               continue
              merger.append(file_rd, bookmark=short_filename, import_bookmarks=import_bookmarks)
              print('合并文件:%s'%(filename))
              f.close()
             # out_filename = os.path.join(os.path.abspath(path), output_filename)
             merger.write(output_filename + ".pdf")
             print('合并后的輸出文件:%s'%(output_filename))
             merger.close()
            
            if __name__ == "__main__":
             # 每個(gè)章節(jié)一個(gè)子目錄,先分別合并每個(gè)子目錄文件為一個(gè)pdf,然后再將這些pdf合并為一個(gè)大的pdf,這樣做目的是想生成每個(gè)章節(jié)的書簽
            
             # 1.指定目錄
             # 原始pdf所在目錄
             path = "D:\spdf"
             # 輸出pdf路徑和文件名
             output_filename = "D:\spdf\戰(zhàn)略規(guī)劃 公司實(shí)現(xiàn)持續(xù)成功的方法、工具和實(shí)踐 羅熙昶 2018-09"
            
             # 2.生成子目錄的pdf
             # merge_childdir_files(path)
            
             # 3.子目錄pdf合并為總的pdf
             mergefiles(path, output_filename)

            3、程序使用

            將要生成的pdf文件目錄導(dǎo)入到程序指定目錄下,例如我程序中的path是“D:\spdf”,然后指定最終輸出的文件路徑及文件名,我上面的output_filename是"D:\spdf\戰(zhàn)略規(guī)劃 公司實(shí)現(xiàn)持續(xù)成功的方法、工具和實(shí)踐 羅熙昶 2018-09"

            數(shù)據(jù)結(jié)果如下:

            Python如何利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼

            看完了這篇文章,相信你對(duì)“Python如何利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!

            另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

            網(wǎng)頁(yè)題目:Python如何利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼-創(chuàng)新互聯(lián)
            當(dāng)前地址:http://www.jbt999.com/article48/dspeep.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google營(yíng)銷型網(wǎng)站建設(shè)服務(wù)器托管搜索引擎優(yōu)化小程序開(kāi)發(fā)定制網(wǎng)站

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

            成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 日欧美逼 | A片在线观看视频 | 欧美V亚洲V日韩v | 色色网站在线观看 | 国产成人HD |