파이썬으로 PDF 결합 GUI 만들기 2

이번에는 그 2

그 1 Tkinter로 UI 작성
그 2 PyPDF2로 PDF 조작
그 3 pyinstaller로 exe화+아이콘을 붙인다

로그인 사용자 이름 가져오기



대상을 데스크톱으로 지정하기 위해 로그인 사용자 이름 가져오기
merger = PyPDF2.PdfFileMerger()
user = os.getlogin()
username= str(user) 

버튼 "Open"액션



다음 흐름에서 결합할 PDF 파일을 확인합니다.
 
파일 경로 확인
  ↓
PDF 파일을 목록에 append
  ↓
텍스트 상자에 결합하는 PDF 파일 표시
# Open
def clicked():
    txt3.delete(1.0, tkinter.END)
    filePath = txt1.get()

    if os.path.exists(filePath):
        pass
    else:
        txt3.insert('1.0','パスが見つかりません')

    drawings = []
    allFiles = os.listdir(filePath)

    for f in os.listdir(filePath):
        if os.path.join(filePath, f)[-4:] == '.pdf':
            drawings.append(f)

    count = int(len(drawings))
    txt3.insert('1.0','以下のPDFファイルを結合します\n\n')
    for i in range(count):
        txt3.insert(1.0 * i + 3.0, drawings[i] + '\n')

버튼 「Merge」의 액션



PDF 파일을 결합하여 "파일 이름 .pdf"를 바탕 화면에 저장합니다.
# Merge
def merge():
    filePath = txt1.get()
    #filePath = str(txt1.get())
    savePath = 'C:\\Users\\' + username + '\\Desktop' 
    savedName = txt2.get()

    drawings = []
    allFiles = os.listdir(filePath)
    for f in os.listdir(filePath):
        if os.path.join(filePath, f)[-4:] == '.pdf':
            merger.append(os.path.join(filePath, f))

    merger.write(os.path.join(savePath, savedName + '.pdf'))
    merger.close()

    txt3.insert(tkinter.END, '\n\n**************************\n\n')
    txt3.insert(tkinter.END, savedName + '.pdf として保存しました')

버튼에 명령 추가



그 1에서 코멘트 아웃 한 부분입니다.
# Openボタン
button = tkinter.Button(root, text="Open", command=clicked, width=8, height=2, font=(u'Meiryo', 8), bg='#add8e6', fg='#000000')
button.place(x=80, y=120)

# Mergeボタン
button = tkinter.Button(root, text="Merge", command=merge, width=8, height=2, font=(u'Meiryo', 8), bg='#4169e1', fg='#ffffff')
button.place(x=200, y=120)

할 수 있었습니다!


참고

좋은 웹페이지 즐겨찾기