Docx in PDF konvertieren in Python
-
Konvertieren Sie Docx in PDF mit dem Paket
pywin32
in Python -
Konvertieren Sie Docx in PDF mit dem Paket
docx2pdf
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.
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