亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼實(shí)例

瀏覽:14日期:2022-07-31 09:13:02

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

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

pip install PyPDF2

2、接著,就是直接編寫(xiě)代碼了,其中我新建了一個(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文件帶書(shū)簽

1、需求:

將幾本紙質(zhì)書(shū)進(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)有添加書(shū)簽的功能的,有添加書(shū)簽的也不是很靈活。

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

文件準(zhǔn)備:

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

Python利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼實(shí)例

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é)名生成書(shū)簽’’’import os, sys, codecsfrom PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMergerimport globdef getFileName(filepath): ’’’ 獲取當(dāng)前目錄下的所有pdf文件 ’’’ file_list = glob.glob(filepath+'/*.pdf') # 默認(rèn)安裝字典序排序,也可以安裝自定義的方式排序 # file_list.sort() return file_listdef get_dirs(filepath=’’, dirlist_out=[], dirpathlist_out=[]): # 遍歷filepath下的所有目錄 for dir in os.listdir(filepath): dirpathlist_out.append(filepath + ’’ + dir) return dirpathlist_outdef 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)帶書(shū)簽,書(shū)簽名為之前的文件名 # 默認(rèn)情況下原始文件的書(shū)簽不會(huì)導(dǎo)入,使用import_bookmarks=True可以將原文件所帶的書(shū)簽也導(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é)的書(shū)簽 # 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è)碼實(shí)例

以上這篇Python利用PyPDF2庫(kù)獲取PDF文件總頁(yè)碼實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美一级中文字幕 | 一级特黄女人生活片 | 在线观看免费黄色片 | 久久免费福利 | 国产精品久久久久免费视频 | 国产亚洲视频在线观看 | 国产51社区精品视频资源 | 婷婷色香 | 亚洲欧美在线精品一区二区 | 你懂的在线免费视频 | 亚洲激情视频 | 妞干网在线观看 | 国产性夜夜性夜夜爽91 | 久久成人免费大片 | 日本免费人成网ww555在线 | 国产原创自拍 | 一级片软件 | 亚洲欧美日韩在线一区 | 99久久网 | 成人免费aa在线观看 | 国产三级一区二区三区 | 成 人 黄 色 大 片全部 | 亚州三级 | 亚洲国产精品一区二区第四页 | 国产视频二 | 日韩一级欧美一级一级国产 | 天天综合天天影视色香欲俱全 | 黄色在线免费播放 | 成人国产精品免费网站 | 深夜成人性视频免费看 | 久久久99精品免费观看精品 | 国产资源网站 | 91麻豆传传媒波多野衣久久看 | 久久精品免视看国产成人2021 | 国产91高清在线 | 国产精品福利一区二区亚瑟 | 亚洲日本欧美产综合在线 | 日本免费人成黄页网观看视频 | 在线视频中文字幕乱人伦 | 中国帅小伙肌肉gaysextube | 做爰全过程免费的视69频 |