>  기사  >  백엔드 개발  >  PDF 파일을 Python으로 병합하는 방법: 종합 안내서

PDF 파일을 Python으로 병합하는 방법: 종합 안내서

DDD
DDD원래의
2024-10-23 08:30:29700검색

How to Merge PDF Files with Python: A Comprehensive Guide

Python으로 PDF 파일 병합

Python은 PDF 파일을 병합하는 강력한 옵션을 제공하므로 여러 문서를 하나의 통합 문서로 결합할 수 있습니다. . 이 튜토리얼은 디렉토리 반복 및 특정 페이지 제외와 같은 고급 기술을 포함한 프로세스를 안내합니다.

pypdf 병합 클래스 사용

pypdf는 PdfMerger 클래스를 제공합니다. PDF 파일을 연결하고 병합하는 쉬운 방법을 제공합니다.

파일 연결

다음 방법을 사용하여 파일을 추가하여 연결합니다.

<code class="python">import PdfMerger

pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']

merger = PdfMerger()

for pdf in pdfs:
    merger.append(pdf)

merger.write("result.pdf")</code>

파일 병합

세밀하게 제어하려면 병합 방법을 사용하여 삽입 지점을 지정하세요.

<code class="python">merger.merge(2, pdf)  # Insert PDF at page 2</code>

페이지 범위

페이지 키워드 인수를 사용하여 추가되는 페이지를 제어합니다.

<code class="python">merger.append(pdf, pages=(0, 3))  # Append first 3 pages
merger.append(pdf, pages=(0, 6, 2))  # Append pages 1, 3, 5</code>

빈 페이지 제외

병합된 모든 PDF에서 특정 페이지를 제외하려면 페이지를 조작할 수 있습니다. 그에 따라 매개변수. 예를 들어, 각 PDF에서 페이지 1을 제외하려면:

<code class="python">pages_to_exclude = [0]  # Page 1

for pdf in pdfs:
    merger.append(pdf, pages=(i for i in range(pages) if i not in pages_to_exclude))</code>

PyMuPdf 라이브러리

또 다른 옵션은 PyMuPdf 라이브러리입니다. PDF를 병합하는 방법은 다음과 같습니다.

명령줄에서

python -m fitz join -o result.pdf file1.pdf file2.pdf file3.pdf

코드에서

<code class="python">import fitz

result = fitz.open()

for pdf in ['file1.pdf', 'file2.pdf', 'file3.pdf']:
    with fitz.open(pdf) as mfile:
        result.insert_pdf(mfile)
    result.save("result.pdf")</code>

폴더 반복

폴더를 반복하고 PDF를 병합하려면 os 모듈을 사용하세요.

<code class="python">import os

for folder in os.listdir("path/to/directory"):
    pdfs = [f for f in os.listdir(f"path/to/directory/{folder}") if f.endswith(".pdf")]
    merger = PdfMerger()
    for pdf in pdfs:
        merger.append(f"path/to/directory/{folder}/{pdf}")
    merger.write(f"merged_{folder}.pdf")</code>

위 내용은 PDF 파일을 Python으로 병합하는 방법: 종합 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.