2011-03-24 33 views
1

我有一個pdf文件「myFile.pdf」。我想用pyPdf來顛倒它的頁面順序。怎麼樣?如何使用pyPdf反轉PDF文件中頁面的順序?

+0

@Tom:到目前爲止,我嘗試過的東西有點類似於nosklo的答案。我們都有相同的錯誤(關閉文件的I/O操作)。原因當然是我們在關閉它後使用了'output_pdf'。我剛剛解決了他的問題。 – snakile 2011-03-24 21:21:35

回答

3
from pyPdf import PdfFileWriter, PdfFileReader 
output_pdf = PdfFileWriter() 

with open(r'input.pdf', 'rb') as readfile: 
    input_pdf = PdfFileReader(readfile) 
    total_pages = input_pdf.getNumPages() 
    for page in xrange(total_pages - 1, -1, -1): 
     output_pdf.addPage(input_pdf.getPage(page)) 
    with open(r'output.pdf', "wb") as writefile: 
     output_pdf.write(writefile) 
+0

感謝您的這一點,它幫助我確定了在關閉的文件上導致I/O操作的錯誤:您必須保持PdfFileReader處於打開狀態,直到PdfF​​ileWriter完成寫入。 (反直覺,對我來說)。大概這是因爲作者實際上並沒有從讀者的頁面中尋找數據,直到需要爲止,以提高性能。 – user85461 2011-04-26 19:17:00