2016-09-03 18 views
0

私は&のpdfファイルを分割して、各pdfファイルの最初のページを削除できるようにしようとしていました。ここにコードがあります。python pdf(PyPDF2 module) - これを分割/マージするには?

#python3 

    #split and merge pdf files! 


    import os, PyPDF2 

    pdfFiles = [] 
    os.chdir('C:\\Users\\Cyber\\Downloads\\5-111-fall-2008\\5-111-fall-2008\\contents\\readings-and-lecture-notes') 



    for filename in os.listdir('.'): 
     if filename.endswith('pdf'): 
      pdfFiles.append(filename) 

    pdfWriter = PyPDF2.PdfFileWriter() 

    for filename in pdfFiles: 
     pdfFileObj = open(filename, 'rb') 
     pdfReader = PyPDF2.PdfFileReader(pdfFileObj) 

     for pageNum in range(1, pdfReader.numPages): 
      pageObj = pdfReader.getPage(pageNum) 
      pdfWriter.addPage(pageObj) 

    pdfOutput = open('Merged.pdf', 'wb') 
    pdfWriter.write(pdfOutput) 
    pdfOutput.close() 

し、私は次のエラーを取得する...

:PdfReadWarning:外部参照テーブルゼロがインデックスではありません。オブジェクトのID番号は修正されます。 [pdf.py:1736]

このエラーを検索したところ、PDF自体の作成に問題がある可能性があることが判明しました。

私が望むように私のmerged.pdfファイルを入手しましたが、私はそれが正確に何を意味するのかを知りたがっています&どのようにそれらを得るのを避けるべきですか?

答えて

1

この警告は、xrefテーブルの最初のセクションがオブジェクト0で始まらないことを意味します。 PDFの作成時にエラーが発生した可能性があります。 strict = Falseの場合、PyPDF2はオブジェクトID番号を修正しようとします。 strict = Trueの場合、修正されません。デフォルトはTrueです。お試しくださいPyPDF2.PdfFileReader(pdfFileObj,False)

+0

ありがとうございました!今私はそれを得る。私は次回同じエラーメッセージが出ても、実際にはpdfの出力には影響しません。私はマージしたいのですか? xrefテーブルがオブジェクトゼロで始まらないという事実を教えてくれますか? –

関連する問題