# -*- coding:utf-8*-
import os
from pypdf2 import pdffilereader, pdffilewriter
import time
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'c:\\users\\pchen\\desktop\\資料夾' # 存放pdf的原資料夾
outfile = "合併.pdf" # 輸出的pdf檔案的名稱
mergepdf(file_dir, outfile)
time2 = time.time()
print('總共耗時:%s s.' %(time2 - time1))
main()
Python之合併PDF檔案
在日常的學習生活工作中,我們有時會遇到需要合併pdf檔案的需求。這時,我們可以利用相關的pdf軟體 如adobe acrobat reader dc 來完成這個任務,幸運的是,python也為我們提供了這方面的處理模組pypdf2,借用它,我們可以利用python 來很好地完成這項任務。pypdf2...
Python之合併PDF檔案
在日常的學習生活工作中,我們有時會遇到需要合併pdf檔案的需求。這時,我們可以利用相關的pdf軟體 如adobe acrobat reader dc 來完成這個任務,幸運的是,python也為我們提供了這方面的處理模組pypdf2,借用它,我們可以利用python 來很好地完成這項任務。pypdf2...
Python 對pdf檔案切分合併
今天有乙個問題,就是需要實現提取某個pdf文件的某幾頁,合併到另外乙個pdf文件中,想用我的pdf編輯工具實現此功能,發現需要收費,那怎麼能行。想到之前用python處理過word和excel,此時萌生了另外乙個想法,那就是萬能的python有沒有對應的庫呢?網上一查還真的有,那就是pypdf2直接...