婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python利用PyPDF2快速拆分PDF文檔

Python利用PyPDF2快速拆分PDF文檔

熱門標簽:預覽式外呼系統 企業彩鈴地圖標注 如何地圖標注公司 煙臺電話外呼營銷系統 電銷機器人錄音要學習什么 長春極信防封電銷卡批發 銀川電話機器人電話 上海正規的外呼系統最新報價 外賣地址有什么地圖標注

“人生苦短,快學Python”,因為這句口號,我也加入了學習Python的浩浩大軍,但由于Python真的是可以做的事情太多了,一時迷了眼,不知道自己應該去專攻哪個方向。

經過多方向試探,我還是選擇了廣而不深的web開發,Python的web開發自然離不開大名鼎鼎的Django,有一次突發奇想,下載了Django的PDF版文檔,心想方便查閱,但懵逼的是PDF版竟然只有英文版,將近1900多頁,無奈只能找一些平臺的文檔翻譯功能,大部分需要付費,免費的限制很多,例如免費用戶每次最多只能翻譯5頁,而且文檔大小最大不能超過5M到10M。
怎么辦?學Python的人會怕這個嗎?

拆分,拆分是最好的解決辦法,人工去拆嗎?1900多頁,估計得累死,那么對于Python來說,則非常簡單,今天跟隨我走入實戰,一起學習PyPDF2模塊,快速實現拆分,讓你真正理解什么叫“人生苦短,我用Python”!

安裝PyPDF2模塊

這個模塊嚴格區分大小寫,y是小寫,其余大寫

pip3 install PyPDF2

安裝完成之后呢,在本地硬盤創建一個專門存放本項目的文件夾,我這里在的存放路徑是 F:\Python\PyPDF2,在F盤有個Python文件夾,在其中又創建了一個以這個模塊命名的文件夾,來單獨存放和與別的項目區分。

創建文件,準備PDF文檔

Django官網下載了他的幫助文檔,這個文檔足夠大,1900多頁,對于練手絕對夠了,有需要的去官網下載,然后再創建一個PDFCF.py 的項目文件。

萬事俱備,準備開拆

程序開始兩行,寫上下邊這兩句,第一句的意思是指定這個文件的運行程序,第二句是對這個文件的說明,這個的作用現在還看不出來,但如果你知道怎么批量化快速執行程序,你就知道了它的作用,這里不做贅述。

#! python
# PDFCF.py - pdf文件拆分程序

文檔的拆分思路

不固定拆分成多少份,但固定每一份由多少頁組成,然后來動態的計算拆分的份數,拆分思路有了,那么下來就是列出計算公式。

拆分的份數= 文檔總頁數 / 拆份每個pdf組成的頁數

舉個例子:

假如我們要拆分一個總頁數為35頁的pdf文檔,按照每10頁組成一個新文檔,那么能拆分成多少份的計算公式如下:
3.5 = 35 / 10

這時候大家注意了,除不盡有余數0.5,說明什么?用這個例子來說就是拆分成3份還余下5頁,那么遇到這種情況不管余數是幾都得向前進1,才能完成整個拆分,這個文檔拆分的結果就是,前3個文檔每個由10頁組成,第四個文檔則由最后5頁組成,能整除則結果直接就是拆分的份數。

python拆分計算公式:

if 35 % 10:        # 判斷是否有余數
    35 // 10 + 1   # 取余數整數部分加1
else:
    0              # 能整除則直接返回0
  
# 將這個循環寫到一行
4 = 35 // 10 + 1 if 35 % 10 else 0

具體怎么拆?

還是以這個35頁的文檔拆分為例:
循環遍歷每一頁數據 for num in range(35),得到每一頁的數據,之后再指定拆分頁數范圍進行拆分:

  • 第一個文檔從0--10,不包含10
  • 第二個文檔從10--20 ,不包含20
  • 第三個文檔從 20 -30,不包含30
  • 第四個文檔從30--35,不包含35

我們發現規律,每次遍歷第一個數字的規律是 一個文檔的頁數,乘以自己屬于第幾個便可以得到。第二個數我們發現沒規律了,其實仔細觀察也有規律,假如我們對拆分個數排序,這個例子就是1--4,第二個數字就是當前屬于第幾個拆分數乘以每個文檔組成的頁數(頁數是固定的10)。
可是我們第一次遍歷的時候從0開始,就讓num變得不通用,那么我們改造一下從1開始遍歷,range(1,35),從一開始遍歷,基于range不包含本身最后一個的特性,這樣遍歷出來就少了一頁文檔,那么我們給他加1,變成

  • for num in range(1, 35+1)
  • 第一個文檔從10*(1-1)--10*1,不包含10
  • 第二個文檔從10*(2-1)--10*2 ,不包含20
  • 第三個文檔從 10*(3-1) -10*3, 不包含30
  • 第四個文檔從10(4-1)--35

具體遍歷代碼如下:

for num in range(1,35+1):
    pass
    for i in range(10 * (num-1), 10 * num if num != 4 else 35):
        pass

注意:當遍歷到 num = 4(最后一個文檔排序數時),直接返回 總頁數35就可以了,到這里遍歷就結束了。這里為什么是總頁數35 而不是35+1呢?是因為此次遍歷我們是從0開始遍歷的,頁碼從0開始,所以不需要加1了。

完整拆分程序:

import PyPDF2

# 打開一個可讀的pdf對象
pdfReader = PyPDF2.PdfFileReader('django.pdf')
# 獲取pdf總頁數
pdfnums = pdfReader.numPages
# 每個拆分文檔由多少頁組成
innumber = 100
# 計算拆分份數
outnums = pdfnums // innumber + 1 if pdfnums % innumber else 0

for num in range(1,pdfnums):
    # 創建空白的pdf
    pdfWriter = PyPDF2.PdfFileWriter()
    # 提取指定頁面范圍
    for pageNum in range(innumber * (num - 1), innumber * num if num != outnums else pdfnums):
        # 獲取到每一頁的內容
        pageObj = pdfReader.getPage(pageNum)
        # 將每一頁的內容添加到第一次循環創建的空白文檔對象中
        pdfWriter.addPage(pageObj)
    # 保存并寫入本地文件,并對每個文檔重命名
    with open('PDFREAD %s' % num + '.pdf', 'wb') as pdfOutputFile:
        pdfWriter.write(pdfOutputFile)

注意:上邊這種拆分思路我個人感覺比較繞,如果你對Python列表的切邊以及步長概念理解透徹的話,我覺得不需要這么復雜,只需要把總頁碼生成一個大列表,再把這個列表利用切片的方法拆分成多個小列表,之后每個拆分的pdf頁碼范圍就是每個小列表第一個數--最后一個數+1,我把我用列表方法實現的代碼也貼出來供大家參考。

列表拆分法實現拆分PDF

#! python
# PDFCF.py - pdf文件拆分程序

import PyPDF2
# import LISTCF

# 打開一個可讀的pdf對象
pdfReader = PyPDF2.PdfFileReader('django.pdf')
# 獲取pdf總頁數
pdfnums = pdfReader.numPages
  

# 將總頁碼循環到一個列表中
pagenum_list = list(range(pdfnums))

n = 100

# 將總頁碼按照指定的個數分為多個小列表
page_list = [pagenum_list[i:i + n] for i in range(0, len(pagenum_list), n)]

for i in range(len(page_list)):
  # 創建一個空白的pdf
  pdfWriter = PyPDF2.PdfFileWriter()
  # 提取指定頁面
  for pageNum in range(page_list[i][1], page_list[i][-1]+1):
    pageObj = pdfReader.getPage(pageNum)
    pdfWriter.addPage(pageObj)

  with open('PDFREAD %s' % i + '.pdf', 'wb') as pdfOutputFile:
    pdfWriter.write(pdfOutputFile)

怎么用?

在項目文件夾內部按住Shift鍵,點擊鼠標右鍵,選擇在此處打開命令窗口,輸入PDFCF.py,回車即可,根據自己的需求去更改 n 的值。

寫在最后

給大家分享下我的學習方法,一般在寫程序的時候盡量先不動手寫,而是先想思路,理清思路,這樣會避免在寫的過程中磕磕絆絆的情況,這個程序其實并不完美,還可以指定切分數量,自動計算每一頁包含多少,還可以只提取多頁到多少頁這種需求,所以后邊這兩個需求留給大家思考完成,后邊我會貼出自己的代碼及思路。

到此這篇關于Python利用PyPDF2快速拆分PDF文檔的文章就介紹到這了,更多相關Python 拆分PDF 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python實現簡單拆分PDF文件的方法

標簽:上饒 珠海 湖北 盤錦 宜昌 西寧 佳木斯 潮州

巨人網絡通訊聲明:本文標題《Python利用PyPDF2快速拆分PDF文檔》,本文關鍵詞  Python,利用,PyPDF2,快速,拆分,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python利用PyPDF2快速拆分PDF文檔》相關的同類信息!
  • 本頁收集關于Python利用PyPDF2快速拆分PDF文檔的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    97久久精品人人澡人人爽| 欧美综合亚洲图片综合区| 欧美一区二区免费视频| 粉嫩一区二区三区性色av| 日韩欧美国产一区二区三区| 丝袜亚洲另类欧美| 日韩小视频在线观看专区| 麻豆国产精品一区二区三区 | 久久成人av少妇免费| 欧美一区二区国产| 国产美女视频91| 国产精品天美传媒| 欧美性猛片xxxx免费看久爱| 日韩av成人高清| 国产日韩精品一区| 在线中文字幕一区二区| 美女视频网站黄色亚洲| 国产欧美一区二区在线| 色又黄又爽网站www久久| 亚洲va欧美va天堂v国产综合| 欧美一区二区三区在线视频 | 色婷婷亚洲综合| 视频在线观看91| 国产免费久久精品| 精品视频123区在线观看| 国产一区二区导航在线播放| 亚洲一区精品在线| 国产亚洲精品福利| 欧美日韩久久一区二区| 成人免费看的视频| 麻豆成人综合网| 亚洲精品欧美在线| 国产亚洲精品7777| 91精品国产入口在线| 成人av综合一区| 麻豆精品在线视频| 亚洲少妇最新在线视频| 久久久久97国产精华液好用吗| 欧美三级一区二区| 99久久精品国产毛片| 国产一区在线观看视频| 亚洲成人黄色小说| 一色屋精品亚洲香蕉网站| 久久日韩精品一区二区五区| 欧美巨大另类极品videosbest | 亚洲制服丝袜av| 国产精品网曝门| 久久免费美女视频| 欧美大片在线观看一区二区| 欧美偷拍一区二区| 色综合久久综合网欧美综合网| 国产伦理精品不卡| 国产又粗又猛又爽又黄91精品| 日韩电影在线免费观看| 亚洲成人黄色影院| 午夜视频一区二区| 亚洲bdsm女犯bdsm网站| 亚洲国产精品久久人人爱| 综合av第一页| 亚洲欧美一区二区视频| 国产精品污网站| 国产精品看片你懂得| 欧美国产精品一区| 国产精品系列在线| 综合久久久久久久| 亚洲一区二区在线免费看| 一区二区三区丝袜| 亚洲午夜成aⅴ人片| 香蕉加勒比综合久久| 麻豆国产精品777777在线| 国产综合一区二区| 成人av资源站| 欧美日韩免费视频| 精品对白一区国产伦| 国产欧美日韩视频在线观看| 欧美国产国产综合| 一区二区在线观看免费| 日日噜噜夜夜狠狠视频欧美人| 美日韩黄色大片| 久久99久久99精品免视看婷婷| 国模套图日韩精品一区二区| 国产福利视频一区二区三区| 丁香五精品蜜臀久久久久99网站 | 国产精品1区二区.| 成人美女视频在线观看| 粉嫩蜜臀av国产精品网站| 国产精品一二三四五| 成人性生交大片免费看视频在线 | 国产日韩欧美一区二区三区综合| 欧美激情一区在线| 亚洲精品国产精华液| 午夜精品福利久久久| 日本一不卡视频| 国产白丝精品91爽爽久久| 色综合久久久久综合体| 欧美一级高清片| 中日韩免费视频中文字幕| 午夜久久久久久| 久久99国产精品久久99| 国产成人精品亚洲日本在线桃色| 色婷婷一区二区三区四区| xf在线a精品一区二区视频网站| 国产日本亚洲高清| 天堂久久一区二区三区| 成人国产精品免费网站| 91在线一区二区| 日韩精品专区在线| 一区二区三区高清| 国产一区二区三区免费在线观看| 91麻豆视频网站| 精品国产区一区| 一区二区三区av电影| 韩国中文字幕2020精品| 日本道精品一区二区三区| 欧美一区二区视频在线观看2020| 国产精品人成在线观看免费| 美腿丝袜在线亚洲一区| jlzzjlzz亚洲女人18| 欧美精品一区二区久久久| 亚洲成人动漫一区| 色综合中文字幕| 久久精品视频一区二区三区| 日韩精品1区2区3区| 日本丶国产丶欧美色综合| 国产欧美日韩麻豆91| 成人欧美一区二区三区小说| 91在线无精精品入口| 亚洲精品一区二区三区四区高清| 一区二区三区精品视频在线| 国产成人午夜片在线观看高清观看| 欧美日韩国产天堂| 亚洲一二三级电影| 一本一道波多野结衣一区二区| 国产亚洲福利社区一区| 激情文学综合插| 精品乱人伦一区二区三区| 日本伊人午夜精品| 日韩一区和二区| 久草这里只有精品视频| 欧美精品丝袜久久久中文字幕| 午夜免费欧美电影| 欧美一级艳片视频免费观看| 免费视频一区二区| 久久影视一区二区| 国产黄色精品网站| 亚洲国产成人一区二区三区| jlzzjlzz欧美大全| 亚洲制服丝袜av| 欧美一级在线视频| 国产一区二区中文字幕| 久久综合一区二区| 成人理论电影网| 国产精品成人一区二区艾草| 91久久国产最好的精华液| 五月婷婷久久综合| 2021久久国产精品不只是精品| 成人禁用看黄a在线| 亚洲视频免费观看| 欧美丰满一区二区免费视频 | 奇米色一区二区| 久久综合九色欧美综合狠狠| av在线一区二区三区| 亚洲一区二区偷拍精品| 欧美大片一区二区三区| 成人国产在线观看| 亚洲超碰97人人做人人爱| 欧美一级生活片| 成人一区二区三区中文字幕| 亚洲综合激情网| 精品国产三级a在线观看| 不卡电影一区二区三区| 天天操天天干天天综合网| 国产亚洲欧洲997久久综合 | 欧美日本一道本| 国产精品99精品久久免费| 亚洲一二三区不卡| 中文字幕+乱码+中文字幕一区| 欧美日韩免费观看一区三区| 久久电影国产免费久久电影 | 国产精品夫妻自拍| 欧美一区二区三区人| av综合在线播放| 日本aⅴ亚洲精品中文乱码| 国产精品成人免费在线| 精品欧美一区二区在线观看| 91亚洲永久精品| 国产丶欧美丶日本不卡视频| 午夜精品成人在线| 亚洲伦理在线免费看| 国产欧美va欧美不卡在线| 日韩一区二区不卡| 欧美日韩五月天| 97超碰欧美中文字幕| 国产精品一区二区久久精品爱涩| 天使萌一区二区三区免费观看| 尤物av一区二区| 国产精品久久三| 中文字幕巨乱亚洲| 久久综合国产精品| 欧美日本一道本|