Python에서 Docx를 PDF로 변환
이 자습서에서는 Python에서 docx 파일을 pdf 파일로 변환하는 방법에 대해 설명합니다.
Python에서 pywin32
패키지를 사용하여 Docx를 PDF로 변환
pywin32
패키지는 일반적으로 COM 개체를 생성 및 초기화하고 Python에서 Windows 서비스를 사용하는 데 사용됩니다. 외부 패키지이기 때문에 pywin32
를 설치해야 사용이 가능합니다. pywin32
를 설치하는 명령은 다음과 같습니다.
pip install pywin32
이 패키지와 함께 Microsoft Word 응용 프로그램을 사용하여 docx 파일을 열고 pdf 파일로 저장할 수 있습니다. 다음 코드 예제는 pywin32
패키지를 사용하여 docx 파일을 pdf 파일로 변환하는 방법을 보여줍니다.
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()
위 코드에서 win32com.client
라이브러리를 사용하여 document.docx
를 document.pdf
로 변환했습니다. doc = word.Documents.Open(inputFile)
으로 docx 파일을 열고 doc.SaveAs(outputFile, FileFormat=wdFormatPDF)
로 pdf 파일로 저장했습니다. 결국 doc.Close()
함수로 열려 있는 문서를 닫고 word.Quit()
함수로 Microsoft Word를 종료했습니다. 이 코드가 제대로 작동하려면 출력 파일이 이미 생성되어 있어야 합니다. 즉, 위의 코드를 실행하기 전에 document.pdf
라는 파일을 수동으로 생성해야 합니다. 이 프로세스는 Python에서 파일 처리를 통해 자동화할 수도 있습니다. 다음 코드 스니펫은 이 전체 프로세스를 추가로 자동화하는 방법을 보여줍니다.
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()
위의 코드에서 win32com.client
라이브러리로 Microsoft Word를 열기 전에 file = open(outputFile, "w")
으로 출력 파일을 만듭니다.
Python의 docx2pdf
패키지를 사용하여 Docx를 PDF로 변환
pywin32
방법은 잘 작동하고 핵심 세부 사항에 대한 많은 제어를 제공합니다. 유일한 단점은 많은 코드를 작성해야 한다는 것입니다. 낮은 수준의 세부 사항에 대해 너무 많이 걱정하지 않고 docx 파일을 pdf 파일로 빠르게 변환해야 하는 경우 Python에서 docx2pdf
패키지를 사용할 수 있습니다. docx2pdf
패키지는 파일 이름을 사용하고 이전 섹션에서 논의한 모든 저수준 변환 작업을 처리하는 간단한 기능을 제공합니다. docx2pdf
도 외부 패키지입니다. docx2pdf
패키지를 설치하는 명령은 다음과 같습니다.
pip install docx2pdf
다음 코드 예제는 docx2pdf
패키지를 사용하여 docx 파일을 pdf 파일로 변환하는 방법을 보여줍니다.
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
convert(inputFile, outputFile)
위 코드에서 docx2pdf
패키지의 convert()
함수를 사용하여 document.docx
를 document.pdf
로 변환했습니다. 이 코드의 유일한 단점은 이 코드를 실행하기 전에 출력 파일을 생성해야 한다는 것입니다. 파일 처리를 사용하여 이전 섹션에서 했던 것처럼 이 프로세스를 자동화할 수 있습니다.
from docx2pdf import convert
inputFile = "document.docx"
outputFile = "document2.pdf"
file = open(outputFile, "w")
file.close()
convert(inputFile, outputFile)
위의 코드에서 convert()
함수를 호출하기 전에 file = open(outputFile, "w")
으로 출력 파일을 만듭니다.
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