2016-09-03 2 views
0

& 병합 PDF 파일을 분할하려고 했으므로 각 PDF 파일의 첫 페이지를 제거 할 수 있습니다. 코드는 다음과 같습니다.python pdf (PyPDF2 모듈) - 분할/병합하는 방법?

#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

이 경고는 외부 참조 테이블의 첫 번째 섹션이 객체 0으로 시작하지 않는다는 것을 의미합니다. PDF 작성 중 오류가 발생했을 수 있습니다. strict = False이면 PyPDF2는 객체 ID 번호를 수정하려고합니다. strict = True이면 수정되지 않습니다. 기본값은 True입니다. 시도해보십시오 PyPDF2.PdfFileReader(pdfFileObj,False)

+0

고마워요! 이제 알겠다. 그냥 분명히, 내가 다음번에 같은 오류 메시지가 나타나더라도 실제로 병합하고자하는 pdf의 출력에는 영향을 미치지 않습니다. xref 테이블이 객체 0으로 시작하지 않는다는 사실을 알려주고 있습니까? –