PDF를 Word로 변환하기(PDF to Word, docx), 변환 프로그램 무료 다운로드(By Python)
본문 바로가기
파이썬(Python)/파이썬 개발

PDF를 Word로 변환하기(PDF to Word, docx), 변환 프로그램 무료 다운로드(By Python)

by Squat Lee 2022. 5. 30.

포스트의 마지막 부분에 코딩을 하지 않고도 변환 프로그램을 무료로 다운로드 받아서 사용하실 수 있습니다.

 

 

회사에서 업무를 하다보면 PDF 문서를 Word로 변경해야 할 때가 있습니다.

 

구글에서 검색해서 아래 사이트와 같이 무료로 변환해 주는 사이트를 이용하는 방법도 있습니다.

 

 

 

하지만, 사용 횟수에 제한이 있고, 상당히 번거롭습니다.

 

그래서 파이썬을 이용해서 PDF를 Word로 변환해주는 코드를 만들어 보았습니다.

 


"pdf2docx"라는 라이브러리를 사용하면, 간단하고, 쉽게 PDF를 워드로 변환하는 프로그램을 만들 수 있습니다.

 

핵심코드는 아래와 같습니다. 

 cv = Converter(file_name)
        cv.convert(changed_file)
        cv.close()

'Converter'라는 함수에 PDF 파일이름을 인자로 넣어주고, 'cv' 변수에 넣어 준 후 cv.convert() 함수를 써서 변경될 파일이름을 인자로 넣어주며 끝입니다.

 


매번 파이참을 열어서 파이썬을 실행하기도 번거로우니  PyQt5를 사용하여 UI를 만들어서 실행파일로 만들어 보겠습니다.

 

QtDesigner를 이용해서 아래와 같이 UI 레이아웃을 구성해 보았습니다.

 

 

마지막에 보이지 않지만, Label을 추가해서 프로세스가 완료 되었을때 완료 메세지가 나오도록 합니다.

 


import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
from pdf2docx import Converter
 
필요한 라이브러리는 이것만 있으면 됩니다.
'sys'과 UI를 만들 수 있는 'PyQt5' 그리고 변환을 시켜줄 'pdf2docx' 라이브러리만 있으면 됩니다.
 
ui = 'PDFtoWORD.ui'

qtdesigner로 만든 UI 를 '.ui' 형식의 파일로 저장한 후 ui라고 정한 변수에 넣어 줍니다.

 

class Dialog(QDialog):
 
    def __init__(self):
        QDialog.__init__(selfNone)
        uic.loadUi(ui, self)
 
        self.btn_filechoose.clicked.connect(self.filebtn_click)
 
    
if __name__=='__main__':
    app = QApplication(sys.argv)
    Dialog = Dialog()
    Dialog.show()
   app.exec_()
 
UI를 업로드 하는 Class를 만들어 줍니다.
그리고 클릭했을 때 이벤트 프로시저도 연결해 줍니다.
 
    def filebtn_click(self):
        self.lbl_filename.clear()
 
        file_name = QFileDialog.getOpenFileName(self)[0]
        print(file_name)
 
        self.lbl_filename.setText(file_name)
 
        changed_file = file_name.replace('.pdf''.docx')
 
        print(changed_file)
 
        cv = Converter(file_name)
        cv.convert(changed_file)
        cv.close()
 
        self.lbl_endmsg.setText('선택하신 파일의 Word 변환이 완료되었습니다.')
 
클릭했을 때 이벤트를 함수로 만듭니다.
 
파일 이름이 보이는 레이블을 우선 지우고, 'QFileDialog'를 이용해서 파일 이름을 가져옵니다.
듀플 형태이기 때문에 '[0]' 이렇게 첫 데이터만 가져옵니다.
 
그리고 이 글의 맨 처음 설명한 변환 코드를 작성하면 됩니다.
코드를 실행하면, 위와 같이 UI 창이 나옵니다.
"변환할 파일 선택" 버튼을 누르면 파일을 선택하는 창이 뜹니다.
PDF 파일을 선택하면 자동으로 Word로 변환 되어 저장됩니다.
 

변환에 한계가 있지만 나름 만족할 만한 변환 수준입니다.

 

전체 코드는 아래와 같습니다.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
from pdf2docx import Converter
 
ui = 'PDFtoWORD.ui'
 
class Dialog(QDialog):
 
    def __init__(self):
        QDialog.__init__(selfNone)
        uic.loadUi(ui, self)
 
        self.btn_filechoose.clicked.connect(self.filebtn_click)
 
    def filebtn_click(self):
        self.lbl_filename.clear()
 
        file_name = QFileDialog.getOpenFileName(self)[0]
        print(file_name)
 
        self.lbl_filename.setText(file_name)
 
        changed_file = file_name.replace('.pdf''.docx')
 
        print(changed_file)
 
        cv = Converter(file_name)
        cv.convert(changed_file)
        cv.close()
 
        self.lbl_endmsg.setText('선택하신 파일의 Word 변환이 완료되었습니다.')
 
if __name__=='__main__':
    app = QApplication(sys.argv)
    Dialog = Dialog()
    Dialog.show()
    app.exec_()
cs

혹시 프로그래밍은 어렵고 당장 PDF를 Word 파일로 변환하셔야 할 분들이 있을거라 생각듭니다.

 

그런 분들을 위해서 실행파일(exe)은 아래 링크를 클릭하셔서 다운로드 받으시면 됩니다.

 

실행파일 다운로드

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형

댓글