관리 메뉴

CHIqueen

Python hwp to pdf 본문

프로그래밍/Python

Python hwp to pdf

CHIqueen 2020. 2. 21. 19:14

오늘 필기 공부를 위해 기출문제를 다운 받고 인쇄 하려고 봤더니 대략 100개 정도의 한글파일이 나왔다.

인쇄하기 편하기 위해 pdf로 바꾸려고 파일 하나하나 몇번씩 클릭해서 pdf로 바꾸려니 개발 공부해서 어디 엿 바꿔 먹었나 생각이 들어서 바로 hwp를 pdf로 바꾸는 방법을 찾아보다가

https://www.youtube.com/watch?v=5aobDyMFWHo

이 영상을 보게 되었다. 하지만 지금 api가 바뀌어서 그런지 HAction과 HParameterSet이 안보여서 새로 찾다가 방법을 찾아 오랜만에 이 글을 쓰게 되었다.

 

코드를 먼저 보자

import os
import win32com.client as win32
import win32gui

BASE_DIR = "C:\\Users\\CHIqueen\\Desktop\\"
os.chdir(BASE_DIR)
print(os.listdir())

hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject")
hwnd = win32gui.FindWindow(None, 'Noname 1 - HWP')

print(hwnd)

#win32gui.ShowWindow(hwnd, 0)

for i in os.listdir():
    hwp.Open(os.path.join(BASE_DIR, i))
    hwp.SaveAs(BASE_DIR+"\\"+i+".pdf", "PDF")


#win32gui.ShowWindow(hwnd, 5)
hwp.Quit()

 우선 win32 라이브러리 다운받는것이 먼저다.

https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/

 

Python for Windows Extensions - Browse /pywin32/Build 221 at SourceForge.net

×

sourceforge.net

코드는 대부분 영상에서 소개해주기 때문에 우리는 중요한 부분인 SaveAs를 확인해보자

한컴 api문서를 잘 확인해보자

https://www.hancom.com/board/devmanualList.do?artcl_seq=3993

 

글로벌 소프트웨어의 리더, 한글과컴퓨터

 

www.hancom.com

함수 형태

SaveAs(Path, [string format], [string arg])

 

첫번째 파라미터에 경로를 두번째 파라미터에 형식을 넣어주면 된다.

 

문서를 잘 보면 알겠지만 친절하지 않다. format과 arg를 알기위해 Open()문서를 봤지만 PDF에 관한건 알 수 없다. 그래서 그냥 일단 되면 되겠지 식으로 진행했다.

 

https://www.hancom.com/board/devmanualList.do?artcl_seq=3997

 

글로벌 소프트웨어의 리더, 한글과컴퓨터

 

www.hancom.com

그래도 format은 무조건 다 대문자로 써야한다는 힌트는 얻을 수 있다.

 

아래 실행 영상을 보자

그리고 듀얼모니터를 써서 안나왔지만 한글이 실행되면서 아래와 같은 경고문이 뜬다.

Allow all 해주면 알아서 잘 된다.

 

추가로 pdf파일도 하나로 합쳐주면 인쇄하기 편하니까

https://pdfmerge.w69b.com/

 

PDF Mergy

Easy Web App PDF Mergy is a browser-based Web App. So it works with any operating system, including ChromeOS, Linux, Mac and Windows.

pdfmerge.w69b.com

무료이고 편리하다.

Comments