9/22/2020

使用PyPDF2模塊抽取PDF部分頁面另存新檔 | Python筆記

最近試著整理有關PDF的Python程式,本文筆記的是,把已有的PDF檔案,取出一頁或多頁,另存一個PDF檔。以下就是完整的代碼附註釋。


#使用的是PyPDF2模塊

from PyPDF2 import PdfFileReader, PdfFileWriter


#可直接寫入PDF檔案名稱(須含副檔名),也可用input()取得

fileName = input('填入PDF档,须含副档名: ')

     

#實例化一個writer

pdf_writer = PdfFileWriter()


#開啟已有的PDF檔,並實例化一個reader

file_to_get = open(fileName, 'rb')

pdf_reader = PdfFileReader(file_to_get)


#看一下原檔的總頁數

NUM = pdf_reader.getNumPages()

print(NUM)


#開啟要存的新檔

newPDF = open('newPages.pdf', 'wb')


#這裡以input()收取要存的頁面。也可改成直接寫入數列

Pages = list()

k = 0

while k == 0:

    ent = int(input('Enter page number or enter -1 to quit:'))

    if ent >= 0:

        Pages.append(ent)

    else:

        k = k + 1


#檢查輸入的頁碼        

print(Pages)


#把指定的頁面逐頁加入writer,再寫入檔案

for pm in Pages:

    newpage = pdf_reader.getPage(pm)

    pdf_writer.addPage(newpage)

    pdf_writer.write(newPDF)


#記得關閉檔案!若沒有關閉檔案會出現錯誤,少一頁    

newPDF.close()


沒有留言:

張貼留言