Python之合併PDF檔案

2021-09-13 17:58:19 字數 2117 閱讀 4516

在日常的學習生活工作中,我們有時會遇到需要合併pdf檔案的需求。這時,我們可以利用相關的pdf軟體(如adobe acrobat reader dc)來完成這個任務,幸運的是,python也為我們提供了這方面的處理模組pypdf2, 借用它,我們可以利用python**來很好地完成這項任務。

pypdf2模組的相關參考文件**為: . 本文將介紹如何利用pypdf2來完成pdf檔案的合併。

首先我們在e盤的cheats資料夾下有如下的pdf檔案:

我們的python**完整如下:

# -*- coding:utf-8*-

# 利用pypdf2模組合併同一資料夾下的所有pdf檔案

# 只需修改存放pdf檔案的資料夾變數:file_dir 和 輸出檔名變數: outfile

import os

from pypdf2 import pdffilereader, pdffilewriter

import time

# 使用os模組的walk函式,搜尋出指定目錄下的全部pdf檔案

# 獲取同一目錄下的所有pdf檔案的絕對路徑

def getfilename(filedir):

file_list = [os.path.join(root, filespath) \

for root, dirs, files in os.walk(filedir) \

for filespath in files \

if str(filespath).endswith('pdf')

]return file_list if file_list else

# 合併同一目錄下的所有pdf檔案

def mergepdf(filepath, outfile):

output = pdffilewriter()

outputpages = 0

pdf_filename = getfilename(filepath)

if pdf_filename:

for pdf_file in pdf_filename:

print("路徑:%s"%pdf_file)

# 讀取源pdf檔案

input = pdffilereader(open(pdf_file, "rb"))

# 獲得源pdf檔案中頁面總數

pagecount = input.getnumpages()

outputpages += pagecount

print("頁數:%d"%pagecount)

# 分別將page新增到輸出output中

for ipage in range(pagecount):

output.addpage(input.getpage(ipage))

print("合併後的總頁數:%d."%outputpages)

# 寫入到目標pdf檔案

outputstream = open(os.path.join(filepath, outfile), "wb")

output.write(outputstream)

outputstream.close()

print("pdf檔案合併完成!")

else:

print("沒有可以合併的pdf檔案!")

# 主函式

def main():

time1 = time.time()

file_dir = r'e:\cheats' # 存放pdf的原資料夾

outfile = "cheat_sheets.pdf" # 輸出的pdf檔案的名稱

mergepdf(file_dir, outfile)

time2 = time.time()

print('總共耗時:%s s.' %(time2 - time1))

main()

執行上述python**,則會在同一目錄下生成cheat_sheets.pdf檔案,如下:

Python之合併PDF檔案

在日常的學習生活工作中,我們有時會遇到需要合併pdf檔案的需求。這時,我們可以利用相關的pdf軟體 如adobe acrobat reader dc 來完成這個任務,幸運的是,python也為我們提供了這方面的處理模組pypdf2,借用它,我們可以利用python 來很好地完成這項任務。pypdf2...

python 合併pdf檔案

coding utf 8 import os from pypdf2 import pdffilereader,pdffilewriter import time def getfilename filedir file list os.path.join root,filespath for ro...

Python 對pdf檔案切分合併

今天有乙個問題,就是需要實現提取某個pdf文件的某幾頁,合併到另外乙個pdf文件中,想用我的pdf編輯工具實現此功能,發現需要收費,那怎麼能行。想到之前用python處理過word和excel,此時萌生了另外乙個想法,那就是萬能的python有沒有對應的庫呢?網上一查還真的有,那就是pypdf2直接...