Docx in PDF konvertieren in Python

Muhammad Maisam Abbas 22 Oktober 2021
  1. Konvertieren Sie Docx in PDF mit dem Paket pywin32 in Python
  2. Konvertieren Sie Docx in PDF mit dem Paket docx2pdf in Python
Docx in PDF konvertieren in Python

In diesem Tutorial werden die Methoden zum Konvertieren einer docx-Datei in eine PDF-Datei in Python erläutert.

Konvertieren Sie Docx in PDF mit dem Paket pywin32 in Python

Das Paket pywin32 wird im Allgemeinen verwendet, um COM-Objekte zu erstellen und zu initialisieren und Windows-Dienste in Python zu verwenden. Da es sich um ein externes Paket handelt, müssen wir vor der Verwendung pywin32 installieren. Der Befehl zur Installation von pywin32 ist unten aufgeführt.

pip install pywin32

Wir können die Microsoft Word-Anwendung mit diesem Paket verwenden, um die docx-Datei zu öffnen und als PDF-Datei zu speichern. Das folgende Codebeispiel zeigt uns, wie man mit dem Paket pywin32 eine docx-Datei in eine pdf-Datei umwandelt.

import os
import win32com.client

wdFormatPDF = 17

inputFile = os.path.abspath("document.docx")
outputFile = os.path.abspath("document.pdf")
word = win32com.client.Dispatch("Word.Application")
doc = word.Documents.Open(inputFile)
doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()

Wir haben die document.docx in document.pdf mit der Bibliothek win32com.client im obigen Code umgewandelt. Wir haben die docx-Datei mit doc = word.Documents.Open(inputFile) geöffnet und als pdf-Datei mit doc.SaveAs(outputFile, FileFormat=wdFormatPDF) gespeichert. Am Ende haben wir das geöffnete Dokument mit der Funktion doc.Close() geschlossen und Microsoft Word mit der Funktion word.Quit() verlassen. Beachten Sie, dass die Ausgabedatei bereits erstellt werden muss, damit dieser Code ordnungsgemäß funktioniert. Das bedeutet, dass wir vor der Ausführung des obigen Codes manuell eine Datei namens document.pdf erstellen müssen. Auch dieser Vorgang lässt sich mit Hilfe des Dateihandlings in Python automatisieren. Der folgende Codeausschnitt zeigt, wie wir diesen gesamten Prozess weiter automatisieren können.

import os
import win32com.client

wdFormatPDF = 17

inputFile = os.path.abspath("document.docx")
outputFile = os.path.abspath("document.pdf")
file = open(outputFile, "w")
file.close()
word = win32com.client.Dispatch("Word.Application")
doc = word.Documents.Open(inputFile)
doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()

Im obigen Code erstellen wir die Ausgabedatei mit file = open(outputFile, "w"), bevor wir Microsoft Word mit der Bibliothek win32com.client öffnen.

Konvertieren Sie Docx in PDF mit dem Paket docx2pdf in Python

Die Methode pywin32 funktioniert einwandfrei und gibt uns viel Kontrolle über die Details. Der einzige Nachteil ist, dass wir viel Code dafür schreiben müssen. Wenn wir eine docx-Datei schnell in eine pdf-Datei konvertieren müssen, ohne sich zu viele Gedanken über Details auf niedriger Ebene machen zu müssen, können wir das docx2pdf-Paket in Python verwenden. Das Paket docx2pdf bietet uns einfache Funktionen, die die Dateinamen übernehmen und sich um alle im vorherigen Abschnitt besprochenen Low-Level-Konvertierungsaufgaben kümmern. Das docx2pdf ist ebenfalls ein externes Paket. Der Befehl zur Installation des Pakets docx2pdf ist unten aufgeführt.

pip install docx2pdf

Das folgende Codebeispiel zeigt uns, wie man mit dem Paket docx2pdf eine docx-Datei in eine pdf-Datei umwandelt.

from docx2pdf import convert

inputFile = "document.docx"
outputFile = "document2.pdf"

convert(inputFile, outputFile)

Wir haben document.docx in document.pdf mit der Funktion convert() des Pakets docx2pdf im obigen Code umgewandelt. Der einzige Nachteil dieses Codes besteht darin, dass wir noch die Ausgabedatei erstellen müssen, bevor dieser Code ausgeführt wird. Wir können diesen Prozess wie im vorherigen Abschnitt mithilfe der Dateibehandlung automatisieren.

from docx2pdf import convert

inputFile = "document.docx"
outputFile = "document2.pdf"
file = open(outputFile, "w")
file.close()

convert(inputFile, outputFile)

Im obigen Code erstellen wir die Ausgabedatei mit file = open(outputFile, "w"), bevor wir die Funktion convert() aufrufen.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn