Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

파이썬에서 pdf를 워드(.docx) 파일로 변환하는 방법

권현욱(엑셀러) 2024. 3. 1. 19:38
반응형

파이썬에서는 다양한 외부 라이브러리를 사용할 수 있습니다. 이번 내용도 그와 관련이 있습니다. pdf2docx를 사용하여 pdf 파일을 docx 파일로 변환하는 방법에 대해 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가

(이미지: 아이엑셀러 닷컴)

 

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.


  • 원문: Convert PDF File to Docx in Python
  • URL: https://medium.com/@nutanbhogendrasharma/convert-pdf-file-to-docx-in-python-1a9ade15ad5d

pdf2docx 개념과 설치 방법

pdf2docx는 PyMuPDF로 PDF에서 데이터를 추출하고, 규칙으로 레이아웃을 구문 분석하고, python-docx로 docx 파일을 생성하는 Python 라이브러리입니다.

pip를 통한 설치

pip install pdf2docx

 

pdf2docx 패키지 가져오기

import pdf2docx

 

pdf2docx 패키지로 사용 가능한 방법 확인

dir(pdf2docx)

 

PDF를 docx로 변환하기

pdf2docx 변환기 가져오기

from pdf2docx import Converter
help(Converter)

 

샘플 PDF 파일

샘플 PDF 파일입니다. 여기에는 세 페이지가 있습니다. 첫 페이지에는 헤드라인과 텍스트가 있습니다. 두 번째 페이지에는 텍스트와 이미지 하나가 있습니다. 세 번째 페이지에는 표가 있습니다.

 

(이미지: medium)

 

먼저, PDF 파일의 모든 페이지를 변환합니다.


PDF 파일의 경로 정의

pdf_file = 'input/sample.pdf''input/sample.pdf'
pdf_file

 

doc 파일이 저장될 출력 파일 정의

word_file = 'output/sample.docx''output/sample.docx'
word_file

 

변환기 인스턴스화

cv = Converter(pdf_file)
cv

 

PDF 파일을 워드 파일로 변환

cv.convert(word_file)

 

변환된 워드 파일은 다음과 같습니다. 세 페이지 모두 PDF 파일과 똑같이 변환되었음을 알 수 있습니다.

 

(이미지: medium)

 

변환기 닫기

cv.close()

 

특정한 페이지만 변환하기

처음 두 페이지만 변환하는 방법에 대해 알아봅니다.

문서 파일이 저장될 출력 파일 정의

word_file = 'output/sample1.docx''output/sample1.docx'
word_file

 

Converter 클래스의 객체 생성

cv1 = Converter(pdf_file)
cv1

 

입력 매개변수 페이지의 시작과 끝 인덱스 전달

첫 번째 페이지는 0임에 유의하세요.

cv1.convert(word_file, start=0, end=2)0, end=2)

 

변환된 처음 두 페이지만 볼 수 있습니다. 파일 탐색기에서도 확인할 수 있습니다.

cv1.close()

 

PDF 파일에서 표 추출하기

Converter 클래스의 객체 생성

cv2 = Converter(pdf_file)
cv2

 

테이블 추출

tables = cv2.extract_tables(start=0, end=3)0, end=3)
tables

 

테이블 인쇄

for table in tables:
    print(table)

Excel과 VBA의 모든 것 아이엑셀러 닷컴 · 강사들이 숨겨 놓고 보는 엑셀러TV