pdf奇數(shù)插入空白頁

# -*- coding: utf-8 -*-
"""
Created on Thu May 11 21:08:06 2023

@author: xianglong
"""

#奇數(shù)頁P(yáng)DF插入空白頁
import os,PyPDF2,pyperclip
pathofcwd = r'./講義/'
# ^ 需要處理的pdf存放位置
class pdfReader:
    # ^ 處理pdf的一個(gè)類,把和pdf處理有關(guān)的代碼都放在這里了
    blankPdfPath = r'D:/學(xué)習(xí)/CPA/空白.pdf'
    # ^ 空白頁pdf存放位置
    def __init__(self,pdfPath):
        self.pdfPath = pdfPath
        self.blankPageFile, self.blankPage = self.openAndReadit(self.blankPdfPath)
        self.pdfFile, self.pdfReader = self.openAndReadit(self.pdfPath)
    
    def openAndReadit(self,pdfpath):
        """
        generate the pdfReader object for given path in parameter
        """
        pdfFile = open(pdfpath, 'rb')
        pdfReader = PyPDF2.PdfReader(pdfFile)
        return (pdfFile,pdfReader)
 
    def appendBlank(self):
        """
        no para, return a pdf writer with blankPage appended
        """
        pdfWriter = PyPDF2.PdfWriter()
        for pageNum in range(len(self.pdfReader.pages)):
            pageObj = self.pdfReader.pages[pageNum]
            print(pageObj)
            pdfWriter.add_page(pageObj)
        # add the blank page:
        pdfWriter.add_page(self.blankPage.pages[0])
        return pdfWriter
    
    def closeAllFile(self):
        self.blankPageFile.close()
        self.pdfFile.close()
 
os.chdir(pathofcwd)
fileList = os.listdir()
 
pdfList = filter(
    lambda e:os.path.splitext(e)[1]=='.pdf',
    fileList
)
# ^ 過濾文件列表,只保留pdf
 
pdfReaderList = map(
    lambda e:pdfReader(e),
    pdfList
)
# ^ 根據(jù)pdf文件路徑生成pdfReader類
 
pdfReaderList = filter(
    lambda e: len(e.pdfReader.pages) % 2 == 1,
    pdfReaderList
)
# ^ 只保留奇數(shù)頁pdf的pdfReader類
 
pdfReaderList = list(pdfReaderList)
 
for pdfReader in pdfReaderList:
    pdfAddBlankWriter = pdfReader.appendBlank()
    outputPath = os.path.splitext(pdfReader.pdfPath)[0]+'_addBlank'+'.pdf'
    pdfOutputFile = open(outputPath,'wb')
    pdfAddBlankWriter.write(pdfOutputFile)
    pdfOutputFile.close()
    pdfReader.closeAllFile()
    print("preparing to output as:%s" % outputPath)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容