Zusammenführen von PDF-Dateien mit Python
Tags: pdf, python, filemerge, api
Published: 2023-09-08 08:58:24

Verarbeitung großer Mengen von PDF-Dokumenten ist sehr mühsam, da das häufige Öffnen und Schließen von Dateien die Effizienz erheblich beeinträchtigt. Daher ist es bei der Verarbeitung einer Vielzahl von inhaltlich verwandten PDF-Dateien möglich, diese zu einer größeren, aber weniger zahlreichen PDF-Datei zusammenzuführen, um die Verarbeitungseffizienz zu verbessern. Zum Beispiel kann das Zusammenführen von Dokumenten die Arbeitslast verringern, wenn eine große Anzahl von PDF-Dokumenten übertragen wird, mehrere PDF-Dokumente in einem Projekt verarbeitet werden oder eine Reihe von PDF-Dokumenten gedruckt werden müssen. In diesem Artikel wird beschrieben, wie man **mit Python PDF-Dateien zusammenführt**, wobei [Spire.PDF for Python](https://www.e-iceblue.com/Introduce/pdf-for-python.html) verwendet wird.

### Einführung von Spire.PDF for Python
Bevor Sie dieses Tool zur Bearbeitung von PDF-Dokumenten verwenden können, müssen Sie es in Ihr Projekt einbinden. Sie können es von der [offiziellen Website von Spire.Doc for Python](https://www.e-iceblue.com/Download/Spire-PDF-Python.html) herunterladen oder direkt über pip installieren. Der folgende Code zeigt die Installation:
```
pip install Spire.Doc
```

## Zusammenführen von PDF-Dateien mit der MergeFiles()-Methode
Die Methode **MergeFiles(List[str])** kann eine Liste von Dateipfaden, die PDF-Dateien entsprechen, in der Reihenfolge der Liste zu einer einzelnen PDF-Datei zusammenführen. Das Vorgehen wird wie folgt dargestellt:

- Durchsuchen Sie den Ordner und erstellen Sie eine Liste der Dateipfade der PDF-Dateien.
- Verwenden Sie die Methode **PdfDocument.MergeFiles()**, um die PDF-Dateien in der Liste zusammenzuführen und ein **PdfDocumentBase**-Objekt zu erhalten.
- Verwenden Sie die Methode **PdfDocumentBase.Save()**, um das Ergebnis der Zusammenführung zu speichern.

**Python**

```python
from spire.pdf.common import *
from spire.pdf import *
import os

# Geben Sie den Ordnerpfad an
folder_path = "G:/Dokumente/"

# Durchsuchen Sie den Ordner und erstellen Sie eine Liste der Dateipfade der PDF-Dateien
pdf_files = []
for file_name in sorted(os.listdir(folder_path)):
    if file_name.endswith(".pdf"):
        file_path = os.path.join(folder_path, file_name)
        pdf_files.append(file_path)

# Führen Sie die PDF-Dokumente zusammen
pdf = PdfDocument.MergeFiles(pdf_files)

# Speichern Sie das Ergebnisdokument
pdf.Save("output/Gemergte PDF.pdf", FileFormat.PDF)
pdf.Close()
```

## Zusammenführen von PDF-Dokumenten durch Einfügen von Seiten
Die Methode **AppendPage(PdfDocument)** in Spire.PDF for Python ermöglicht das Einfügen aller Seiten eines PDF-Dokuments in ein anderes PDF-Dokument. Hier ist ein Beispiel für das Zusammenführen von PDF-Dateien mit dieser Methode:

- Laden Sie die PDF-Dateien im Ordner als **PdfDocument**-Objekte und erstellen Sie eine Liste.
- Erstellen Sie ein neues **PdfDocument**-Objekt.
- Verwenden Sie die Methode **PdfDocument.AppendPage(PdfDocument)**, um die Seiten der geladenen PDF-Dateien in das neue PDF-Dokument einzufügen.
- Verwenden Sie die Methode **PdfDocument.SaveToFile()**, um das neue PDF-Dokument zu speichern.

**Python**

```python
from spire.pdf.common import *
from spire.pdf import *

# Durchsuchen Sie den Ordner und laden Sie jede PDF-Datei als PdfDocument-Objekt und erstellen Sie eine Liste
folder_path = "G:/Dokumente/"
pdf_files = []
for file_name in sorted(os.listdir(folder_path)):
    if file_name.endswith(".pdf"):
        file_path = os.path.join(folder_path, file_name)
        pdf_files.append(PdfDocument(file_path))

# Erstellen Sie ein neues PdfDocument-Objekt
newPdf = PdfDocument()

# Fügen Sie die Seiten der geladenen PDF-Dokumente in das neue PDF-Dokument ein
for pdf in pdf_files:
    newPdf.AppendPage(pdf)

# Speichern Sie das neue PDF-Dokument
newPdf.SaveToFile("output/Eingefügte Seiten zusammenführen.pdf")
newPdf.Close()
```

## Zusammenführen bestimmter Seiten verschiedener PDF-Dateien
Die Methode **InsertPage(PdfDocument, pageIndex: int)** ermöglicht das Einfügenvon bestimmten Seiten eines PDF-Dokuments in ein anderes PDF-Dokument. Mit dieser Methode können Sie bestimmte Seiten verschiedener PDF-Dateien zusammenführen. Hier ist ein Beispiel für das Vorgehen:

- Erstellen Sie eine Liste der Dateipfade der PDF-Dateien.
- Laden Sie die PDF-Dateien als **PdfDocument**-Objekte und erstellen Sie eine Liste.
- Erstellen Sie ein neues **PdfDocument**-Objekt.
- Verwenden Sie die Methode **PdfDocument.InsertPage()**, um die angegebene Seite einer bestimmten PDF-Datei in das neue PDF-Dokument einzufügen.
- Verwenden Sie die Methode **PdfDocument.SaveToFile()**, um das neue PDF-Dokument zu speichern.

**Python**

```python
from spire.pdf import *
from spire.pdf.common import *

# Erstellen Sie eine Liste der Dateipfade der PDF-Dateien
file1 = "Beispiel1.pdf"
file2 = "Beispiel2.pdf"
file3 = "Beispiel3.pdf"
files = [file1, file2, file3]

# Laden Sie jede PDF-Datei und fügen Sie sie der Liste hinzu
pdfs = []
for file in files:
    pdfs.append(PdfDocument(file))

# Erstellen Sie ein neues PdfDocument-Objekt
newPdf = PdfDocument()

# Fügen Sie die ausgewählten Seiten der geladenen PDF-Dokumente in das neue Dokument ein
newPdf.InsertPage(pdfs[0], 0)
newPdf.InsertPage(pdfs[1], 1)
newPdf.InsertPageRange(pdfs[2], 0, 1)

# Speichern Sie das neue PDF-Dokument
newPdf.SaveToFile("output/Zusammengeführte spezifische Seiten verschiedener PDFs.pdf")
newPdf.Close()
```

Das waren die Schritte zum Zusammenführen von PDF-Dateien mit Spire.PDF for Python. Wenn Sie mehr über die Funktionen dieser API erfahren möchten, können Sie das [Tutorial zu Spire.PDF for Python](https://www.e-iceblue.com/Tutorials/Python/Spire.PDF-for-Python/Program-Guide/Spire.PDF-for-Python-Program-Guide-Content.html) besuchen oder im [Spire.PDF-Forum](https://www.e-iceblue.com/forum/spire-pdf-f7.html) Feedback geben oder an Diskussionen teilnehmen.