Python中用PyPDF2拆分pdf提取頁面

2021-10-16 11:53:47 字數 2138 閱讀 7173

有時候我們只需要pdf中的幾頁,或許還想把這幾頁內容整合成新的pdf,那該怎麼做呢?

準備工作:

安裝擴充套件庫pypdf2,參考命令

pip install pypdf2
**如下:

from pypdf2 import pdffilereader, pdffilewriter  

defsplit_pdf

(filename, result, start=

0, end=

none):

"""從filename中提取[start,end)之間的頁碼內容儲存為result"""

# 開啟原始 pdf 檔案

pdf_src = pdffilereader(filename)

if end is

none

:# 獲取頁數

end = pdf_src.getnumpages(

)with

open

(result,

"wb"

)as fp:

# 建立空白pdf檔案

pdf = pdffilewriter(

)# 提取頁面內容,寫入空白檔案

for num in

range

(start, end)

: pdf.addpage(pdf_src.getpage(num)

)# 寫入結果pdf

pdf.write(fp)

fn = r"g:\a001\第九天.pdf"

split_pdf(fn,

"1.pdf",0

,3)split_pdf(fn,

"2.pdf",1

,3)split_pdf(fn,

"3.pdf",2

,3)

遇見的問題一:

traceback (most recent call last)

: file "g:/a001/pdf.py"

, line 22

, insplit_pdf(fn,

"1.pdf",0

,3) file "g:/a001/pdf.py"

, line 7

,in split_pdf

pdf_src = pdffilereader(filename)

file "e:\project_luffy\luffy\lib\site-packages\pypdf2\pdf.py"

, line 1084

,in __init__

self.read(stream)

file "e:\project_luffy\luffy\lib\site-packages\pypdf2\pdf.py"

, line 1901

,in read

raise utils.pdfreaderror(

"could not find xref table at specified location"

)pypdf2.utils.pdfreaderror: could not find xref table at specified location

還沒有找到好的解決問題的辦法,但是我在操作過程中換了乙個新的pdf檔案就成功了,猜測是你的pdf檔案出了問題。

遇見的問題二:

在解決了上面的問題之後,程式可以正常的使用,但是還會出乙個問題:

pdfreadwarning: xref table not zero-indexed. id numbers for objects will be corrected.

[pdf.py:

1736

]

雖然不影響,但是體驗不好啊 ,繼續解決吧

import sys if

not sys.warnoptions:

import warnings

warnings.******filter(

"ignore"

)

上面**要加在最上面

關於pypdf2的內容,昨天有詳細講解過,不會的小夥伴可以檢視:高階pdf,就用python(pypdf2模組)

Python利用PyPDF2庫獲取PDF檔案總頁碼

python中可以利用pypdf2庫來獲取該pdf檔案的總頁碼,可以根據下面的方法一步步進行下去 1 首先,要安裝pypdf2庫,利用以下命令即可 pip install pypdf22 接著,就是直接編寫 了,其中我新建了乙個py檔案,名為file utils.py,如下 from pypdf2 ...

Python利用PyPDF2快速拆分PDF文件

目錄 人生苦短,快學python 因為這句口號,我也加入了學習python的浩浩大軍,但由於python真的是可以做的事情太多了,一時迷了眼,不知道自己應該去專攻哪個方向。經過多方向試探,我還是選擇了廣而不深的web開發,python的web開發自然離不開大名鼎鼎的django,有一次突發奇想,了d...

pyPdf和pyPdf2在合併pdf時的那個異常

當乙個pdf檔案有多page的時候,它將出來見你!方法是取直接修改那個檔案generic.py 1 pypdf 路徑大約在這裡 usr lib python2.7 site packages pypdf generic.py if data.has key key multiple definiti...