Converta Docx para PDF em Python
-
Converta Docx para PDF com o pacote
pywin32
em Python -
Converta Docx para PDF com o pacote
docx2pdf
em Python
Este tutorial discutirá os métodos para converter um arquivo docx em um arquivo pdf em Python.
Converta Docx para PDF com o pacote pywin32
em Python
O pacote pywin32
é geralmente usado para criar e inicializar objetos COM e usar serviços do Windows em Python. Por se tratar de um pacote externo, temos que instalar pywin32
antes de usá-lo. O comando para instalar pywin32
é fornecido abaixo.
pip install pywin32
Podemos usar o aplicativo Microsoft Word com este pacote para abrir o arquivo docx e salvá-lo como um arquivo pdf. O exemplo de código a seguir nos mostra como converter um arquivo docx em um arquivo pdf com o pacote pywin32
.
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()
Convertemos o document.docx
para document.pdf
com a biblioteca win32com.client
no código acima. Abrimos o arquivo docx com doc = word.Documents.Open(inputFile)
e o salvamos como um arquivo pdf com doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
. No final, fechamos o documento aberto com a função doc.Close()
e saímos do Microsoft Word com a função word.Quit()
. Observe que o arquivo de saída já deve ter sido criado para que este código funcione corretamente. Isso significa que temos que criar manualmente um arquivo denominado document.pdf
antes de executar o código acima. Este processo também pode ser automatizado com a ajuda do manuseio de arquivos em Python. O trecho de código a seguir mostra como podemos automatizar ainda mais todo esse processo.
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()
No código acima, criamos o arquivo de saída com file = open(outputFile, "w")
antes de abrir o Microsoft Word com a biblioteca win32com.client
.
Converta Docx para PDF com o pacote docx2pdf
em Python
O método pywin32
funciona muito bem e nos dá muito controle sobre os detalhes essenciais. A única desvantagem é que temos que escrever muitos códigos para ele. Se precisarmos converter rapidamente um arquivo docx em um arquivo pdf sem nos preocupar muito com quaisquer detalhes de baixo nível, podemos usar o pacote docx2pdf
em Python. O pacote docx2pdf
nos fornece funções simples que pegam os nomes dos arquivos e cuidam de todas as coisas de conversão de baixo nível discutidas na seção anterior. O docx2pdf
também é um pacote externo. O comando para instalar o pacote docx2pdf
é fornecido abaixo.
pip install docx2pdf
O exemplo de código a seguir nos mostra como converter um arquivo docx em um arquivo pdf com o pacote docx2pdf
.
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
convert(inputFile, outputFile)
Convertemos document.docx
em document.pdf
com a função convert()
do pacote docx2pdf
no código acima. A única desvantagem desse código é que ainda precisamos criar o arquivo de saída antes de executar este código. Podemos automatizar esse processo como fizemos na seção anterior, usando o manuseio de arquivos.
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
file = open(outputFile, "w")
file.close()
convert(inputFile, outputFile)
No código acima, criamos o arquivo de saída com file = open(outputFile, "w")
antes de chamar a função convert()
.
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