[Python] Einfache Batch-Konvertierung von Word-Dokumenten in PDF
Tags: python, pdf, wrod, converter
Published: 2023-09-01 07:47:13

Word-Dateien (Doc, Docx) und PDF-Dateien sind weit verbreitete Dokumentformate. Das Word-Dokumentformat hat offensichtliche Vorteile bei der Bearbeitung von Inhalten und kann verschiedenen Bearbeitungsbedürfnissen gerecht werden. Um jedoch die Integrität des Dokuments und die Konsistenz des Formats zu gewährleisten und das Dokument in eine plattformübergreifend kompatible Form zu bringen, ist das PDF-Format besser geeignet. PDF-Dokumente können auf verschiedenen Plattformen und Geräten geöffnet werden und behalten das Format und das Erscheinungsbild des Dokuments konsequent bei. Es ist auch in Bezug auf Sicherheit überlegen. Daher ist die Konvertierung von Word-Dokumenten in PDF-Dateien eine gängige Anforderung. In diesem Artikel wird erläutert, wie **Word-Dokumente mit [Spire.Doc for Python](https://www.e-iceblue.com/Introduce/doc-for-python.html) in PDF-Dateien konvertiert** werden, sowie Batch-Konvertierungen und die Einstellung verschiedener Konvertierungsparameter.

- **[Konvertieren eines Word-Dokuments in eine PDF-Datei](#konvertieren-eines-worddokuments-in-eine-pdfdatei)**
- **[Batch-Konvertierung von Word-Dokumenten in PDF](#batchkonvertierung-von-worddokumenten-in-pdf)**
- **[Einstellen von Konvertierungsparametern während der Konvertierung (Verschlüsselung, Einbetten von Lesezeichen, Einbetten von Schriftarten, Einstellung der Bildqualität)](#einstellen-von-konvertierungsparametern-w%C3%A4hrend-der-konvertierung-verschl%C3%BCsselung-einbetten-von-lesezeichen-einbetten-von-schriftarten-einstellung-der-bildqualit%C3%A4t)**

## Installation von Spire.Doc for Python
Für dieses Tutorial benötigen Sie Spire.Doc for Python. Sie können es einfach mit den folgenden pip-Befehlen in VS-Code installieren:
```
pip install Spire.Doc
```

## Konvertieren eines Word-Dokuments in eine PDF-Datei

Mit der **Document.SaveToFile()**-Methode von Spire.Doc for Python können Word-Dokumente als PDF, XPS, HTML, RTF usw. gespeichert werden. Hier sind die Schritte zum Direktspeichern eines Word-Dokuments als PDF-Datei:

- Erstellen Sie ein Objekt der **Document**-Klasse.
- Laden Sie ein Word-Beispieldokument mit der **Document.LoadFromFile()**-Methode.
- Speichern Sie das Dokument als PDF-Datei mit der **Doucment.SaveToFile()**-Methode.

**Python**
```python
from spire.doc import *
from spire.doc.common import *

# Erstellen eines Objekts der Document-Klasse  
document = Document()

# Word-Dokument laden
document.LoadFromFile("G:/Dokumente/Beispiel1.docx") 

# Dokument als PDF-Datei speichern
document.SaveToFile("Ausgabe/PDF1.pdf", FileFormat.PDF)
document.Close()
```

**Konvertierungsergebnis**

![Konvertieren eines Word-Dokuments in eine PDF-Datei](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/63tcf0ka4m53ep86yvt7.png)

## Batch-Konvertierung von Word-Dokumenten in PDF

Hier sind die Schritte zum Batch-Konvertieren von Word-Dokumenten in PDF-Dateien. Unterstützt Doc- und Docx-Word-Dokumentformate:

- Erstellen Sie ein Objekt der **Document**-Klasse.
- Durchlaufen Sie alle Dateien im angegebenen Ordner und identifizieren Sie Dateien mit den Endungen .doc und .docx.
- Laden Sie die Dokumente nacheinander mit der **Document.LoadFromFile()**-Methode.
- Konvertieren Sie das Dokument mit der **Document.SaveToFile()**-Methode in PDF-Format und speichern Sie es im angegebenen Pfad.

**Python**
```python
import os
from spire.doc import *
from spire.doc.common import *

# Ordnerpfad abrufen
folder_path = "G:/Dokumente"

# Objekt der Document-Klasse erstellen
document = Document()

# Alle Dateien im Ordner durchlaufen
for file_name in os.listdir(folder_path):
    if file_name.endswith(".doc") or file_name.endswith(".docx"):
        # Vollständigen Dateipfad erstellen
        file_path = os.path.join(folder_path, file_name)
        
        # Word-Dokument laden
        document.LoadFromFile(file_path)

        # Ausgabedateipfad generieren
        output_path = os.path.join("Ausgabe1", os.path.splitext(file_name)[0] + ".pdf")

        # Dokument als PDF-Datei speichern
        document.SaveToFile(output_path, FileFormat.PDF)
        document.Close()
    else:
        print(f"Datei ignorieren: {file_name}")
```

**Konvertierungsergebnis**

![Batch-Konvertierung von Word-Dokumenten in PDF](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tdpa0tcxfi6bna3e0g4m.png)

## Einstellen von Konvertierungsparametern während der Konvertierung (Verschlüsselung, Einbetten von Lesezeichen, Einbetten von Schriftarten, Einstellung der Bildqualität)
Spire.Doc for Python unterstützt auch die Verschlüsselung, das Hinzufügen von Lesezeichen, das Einbetten von Schriftarten, die Einstellung der Bildqualität usw. beim Konvertieren von Word-Dokumenten über die Eigenschaften der **ToPdfParameterList**-Klasse und die **Document.JPEGQuality**-Eigenschaft. Die detaillierten Schritte sind:

- Erstellen Sie ein Objekt der **Document**-Klasse.
- Laden Sie ein Word-Beispieldokument mit der **Document.LoadFromFile()**-Methode.
- Erstellen Sie ein Objekt der **ToPdfParameterList**-Klasse.
- Verwenden Sie die **ToPdfParameterList.PdfSecurity.Encrypt()**-Methode, um ein Kennwort zum Öffnen und ein Berechtigungskennwort festzulegen.
- Mit der Einstellung **ToPdfParameterList.CreateWordBookmarksUsingHeadings** können Sie auch PDF-Lesezeichen aus allen Ebenen von Überschriften generieren. Sie können auch Word-Lesezeichen direkt in PDF-Lesezeichen konvertieren, indem Sie die Einstellung **ToPdfParameterList.CreateWordBookmarks** verwenden.
- Verwenden Sie die Eigenschaft **ToPdfParameterList.IsEmbeddedAllFonts**, um die Schrifteinbettung einzustellen.
- Verwenden Sie die Eigenschaft **Document.JPEGQuality**, um die Bildqualität einzustellen.
- Speichern Sie das Dokument mit der **Doucment.SaveToFile()**-Methode und wenden Sie die Parameter an, um es als PDF-Datei zu speichern.

**Python**
```python
from spire.doc import *
from spire.doc.common import *

# Objekt der Document-Klasse erstellen
document = Document()

# Word-Dokument laden  
document.LoadFromFile("G:/Dokumente/Beispiel1.docx")

# Objekt der ToPdfParameterList-Klasse erstellen
parameter = ToPdfParameterList()

# Kennwort zum Öffnen und Berechtigungskennwort festlegen
openpsd = "password"
permissionpsd = "permission"
parameter.PdfSecurity.Encrypt(openpsd, permissionpsd, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit)

# Lesezeichen mit Überschriften erstellen  
parameter.CreateWordBookmarksUsingHeadings = True
# Lesezeichen einbeziehen
# parameter.CreateWordBookmarks = True  

# Schriftarten einbetten
parameter.IsEmbeddedAllFonts = True

# Bildqualität einstellen
document.JPEGQuality = 40

# Dokument als PDF-Datei speichern
document.SaveToFile("Ausgabe/PDF2.pdf", parameter)
document.Close()
```

**Konvertierungsergebnis**

![Verschlüsselung](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2ihmnedqc9rxto8m4xg.png)

![Einbetten von Lesezeichen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvcbxhm849yzl9os80go.png)

![Einbetten von Schriftarten](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f506jh8voyhe0zj960l9.png)

Dies ist der Prozess der Konvertierung eines Word-Dokuments in ein PDF-Dokument mit Spire.Doc for Python. Wenn Sie Fragen zum Prozess haben oder mehr Details wissen möchten, können Sie sich das [Spire.Doc for Python-Tutorial](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Spire.Doc-for-Python-Program-Guide-Content.html) ansehen oder im [Spire.Doc-Forum](https://www.e-iceblue.com/forum/spire-doc-f6.html) darüber diskutieren.