2017-11-05 24 views
4

여러 PDF 파일의 첫 페이지 만 제거하고 하나의 파일로 결합하려고합니다. (나는 150 개의 PDF 파일을 하루 받고 첫 페이지는 필자가 필요로하는 인보이스이며, 다음 3 ~ 12 페이지는 내가 필요로하지 않는 백업이다.) 따라서 입력은 150 개의 PDF 파일로 다양한 크기와 출력이 가능하다. 1 150 개의 파일 각각의 첫 번째 페이지 만 포함 된 PDF 파일.PDF pypdf2의 첫 번째 페이지 만 선택

내가 한 것처럼 보이는 것은 첫 번째 페이지 (필요한 유일한 페이지 제외)를 제외한 모든 페이지를 병합 한 것입니다.

import PyPDF2, os 

pdfFiles = [] 
for filename in os.listdir('.'): 
    if filename.endswith('.pdf'): 
     pdfFiles.append(filename) 
pdfFiles.sort(key=str.lower) 
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('CombinedFirstPages.pdf', 'wb') 
pdfWriter.write(pdfOutput) 
pdfOutput.close() 
+0

당신의 PDF 파일을 이미지 형식입니다

import PyPDF2, os your_target_folder = "" pdf_files = [] for dirpath, _, filenames in os.walk(your_target_folder): for items in filenames: file_full_path = os.path.abspath(os.path.join(dirpath, items)) if file_full_path.lower().endswith(".pdf"): pdf_files.append(file_full_path) else: pass pdf_files.sort(key=str.lower) pdfWriter = PyPDF2.PdfFileWriter() for files_address in pdf_files: pdfFileObj = open(files_address, 'rb') pdfReader = PyPDF2.PdfFileReader(pdfFileObj) pageObj = pdfReader.getPage(0) pdfWriter.addPage(pageObj) with open("CombinedFirstPages.pdf", "wb") as output: pdfWriter.write(output) 

행운을 빕니다 ..? 또는 원시 텍스트? – DRPK

+0

나는 PDF 문서 (이미지)에서 정보를 벗기고 있지 않습니다. 단지 송장의 지불을 승인하기 위해 첫 페이지 만 인쇄하면됩니다. –

답변

0

이 시도 :

+0

아쉽게도 위의 스크립트는 페이지가없는 빈 문서를 제공합니다. –

+0

@mikehoran : PDF 파일을 업로드 할 수 있습니까? 나는 그것을 확인합니다 ... – DRPK

+0

@mikehoran : 귀하의 PDF 파일 중 하나 또는 두 개의 샘플을 업로드하십시오 ... – DRPK