最近試著整理有關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()
沒有留言:
張貼留言