들어가기 전에
PDF 문서를 Microsoft Word 파일로 변환하면 보다 효율적으로 PDF 콘텐츠를 변경하고, 주석을 추가하고, 협업할 수 있습니다. 무료 오픈 소스 라이브러리나 상용 라이브러리를 사용하여 Python에서 PDF를 Word로 변환하는 5가지 방법을 소개합니다.
※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: 5 Ways to Convert PDF to Word in Python: A Comparison Guide
- URL: https://medium.com/@alexaae9/5-ways-to-convert-pdf-to-word-in-python-a-comparison-guide-1771cfd109e7
1. PyPDF2 및 python-docx 사용
PyPDF2는 Python에서 PDF 파일 작업을 위한 무료 오픈 소스 라이브러리로, PDF 문서 읽기, 조작 및 처리를 위한 다양한 기능을 제공합니다. python-docx는 Microsoft Word(.docx) 파일 생성 및 업데이트를 위한 무료 오픈 소스 라이브러리입니다. PyPI를 통해 설치하려면 다음 pip 명령을 사용하세요.
pip install PyPDF2
pip install python-docx
코드 예시:
from PyPDF2 import PdfReader
from PyPDF2 import PdfWriter
from docx import Document
from docx.shared import Inches
# Create a new Word document
document = Document()
# Open a PDF file
with open("C:\\Users\\Administrator\\Desktop\\Input.pdf", "rb") as file:
# Create a PdfReader object
pdf_reader = PdfReader(file)
# Open the Word document for writing
with open("output.docx", "wb") as output_file:
# Loop through each page of the PDF file
for page_num in range(len(pdf_reader.pages)):
# Get the current page
page = pdf_reader.pages[page_num]
# Extract text from the page
text = page.extract_text()
# Add a paragraph in Word to hold the text
document.add_paragraph(text)
# Save the Word document
document.save("output.docx")
장점
- 무료
단점
- 텍스트만 추출되어 Word 문서에 배치됩니다.
- 원본 PDF 파일의 모든 서식과 레이아웃이 손실됩니다.
2. pdfplumber와 python-docx 사용
python-docx는 Microsoft Word(.docx) 파일을 만들고 업데이트하기 위한 무료 오픈 소스 라이브러리입니다. pdfplumber는 PDF 파일에서 텍스트와 표를 추출하기 위한 무료 오픈 소스 Python 라이브러리입니다. PyPI를 통해 다음 명령을 통해 설치할 수 있습니다.
pip install pdfplumber
pip install python-docx
코드 예시:
import pdfplumber
from docx import Document
from docx.shared import Inches
# Open a PDF file
with pdfplumber.open("C:\\Users\\Administrator\\Desktop\\Input.pdf") as pdf:
# Extract text from the PDF
text = ""
for page in pdf.pages:
text += page.extract_text()
# Create a new Word document
document = Document()
# Add a paragraph in Word to hold the text
document.add_paragraph(text)
# Save the Word document
document.save("output.docx")
장점
- 무료
단점
- 텍스트만 추출되어 Word 문서에 배치됩니다.
- 원본 PDF 파일의 모든 서식과 레이아웃이 손실됩니다.
3. pdf2docx 사용
pdf2docx는 PDF 파일을 Microsoft Word(.docx) 문서로 변환하는 간단하고 효율적인 방법을 제공하는 Python 라이브러리입니다. 문서 변환, 데이터 추출, 텍스트 처리 등 다양한 용도로 사용할 수 있는 무료 오픈소스 라이브러리입니다. PyPI에서 다음 pip 명령을 사용하여 설치할 수 있습니다.
pip install pdf2docx
코드 예시:
from pdf2docx import Converter
def convert_pdf_to_docx(pdf_file, docx_file):
# Create a Converter object
cv = Converter(pdf_file)
# Convert specified PDF page to docx
cv.convert(docx_file, start=0, end=None)
cv.close()
# Convert a PDF to a Docx file
convert_pdf_to_docx("C:\\Users\\Administrator\\Desktop\\Input.pdf", "Output.docx")
장점
- 무료
- 텍스트와 그래픽 요소가 모두 변환됩니다.
- 서식과 레이아웃은 그대로 유지됩니다.
단점
- 상용 라이브러리를 사용할 때보다 복잡한 PDF 문서를 변환하는 데 시간이 조금 더 걸립니다
4. Python용 Spire.PDF 사용
Python용 Spire.PDF는 Python에서 PDF 문서 작업을 위한 풍부한 기능을 갖춘 라이브러리입니다. PDF 파일을 프로그래밍 방식으로 생성, 수정, 조작할 수 있는 다양한 도구를 제공합니다. PyPI에서 설치하려면 다음 pip 명령을 사용합니다.
pip install Spire.PDF
코드 예시:
from spire.pdf.common import *
from spire.pdf import *
# Create a PdfDocument object
doc = PdfDocument()
# Load a PDF document
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.pdf")
# Convert PDF to Word with streaming layout
# doc.ConvertOptions.SetPdfToDocOptions(True, True)
# Convert it to a docx file
doc.SaveToFile("Output.docx", FileFormat.DOCX)
# Dispose resources
doc.Close()
장점
- 텍스트와 그래픽 요소가 모두 변환됩니다.
- 서식과 레이아웃이 유지됩니다(고정 페이지 레이아웃 모드에서).
- 변환 속도가 빠릅니다.
단점
- 가장 낮은 수준의 라이선스 비용은 $999입니다.
5. .NET을 통해 Python용 Aspose.Words 사용
.NET을 통한 Python용 Aspose.Words는 Python을 사용하여 Microsoft Word 문서(.docx, .doc)를 조작하고 변환하기 위한 상용 라이브러리입니다. 또한 PDF 및 HTML과 같은 다른 형식을 Word 형식으로 변환하는 기능도 지원합니다. 또한 PyPI를 통해 직접 설치할 수 있습니다.
pip install aspose-words
코드 예시:
import aspose.words as aw
# Load a PDF document
doc = aw.Document("C:\\Users\\Administrator\\Desktop\\Input.pdf")
# Convert it to a Docx file
doc.save("Output.docx")
장점
- 텍스트와 그래픽 요소가 모두 변환됩니다.
- 서식과 레이아웃이 그대로 유지됩니다.
- 변환 속도가 빠릅니다.
단점
- 가장 낮은 수준의 라이선스 비용은 $1199입니다.
마치며
무료 오픈 소스 라이브러리는 라이선스나 비용 걱정 없이 Python을 사용하여 PDF를 Word로 변환할 수 있는 편리한 방법을 제공합니다. 상용 솔루션은 일반적으로 무료 오픈 소스 라이브러리에 비해 더 고급 기능과 더 나은 성능을 제공합니다. 이러한 옵션 중 선택은 특정 요구 사항, 예산 및 필요한 기능 수준에 따라 달라집니다.
'Python' 카테고리의 다른 글
파이썬으로 MS Word에서 메일 병합하는 방법 (6) | 2024.10.12 |
---|---|
파이썬을 사용하여 Excel에서 데이터 유효성 검사 사용하는 방법 (7) | 2024.10.03 |
파이썬을 사용하여 PDF에서 이미지와 이미지 정보 추출하기 (2) | 2024.09.29 |
파이썬으로 Excel 워크시트 분할하기 (4) | 2024.09.28 |
파이썬으로 PDF 파일을 암호화하고 해독하는 방법 (8) | 2024.09.22 |