CHIqueen
Python hwp to pdf 본문
오늘 필기 공부를 위해 기출문제를 다운 받고 인쇄 하려고 봤더니 대략 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/
코드는 대부분 영상에서 소개해주기 때문에 우리는 중요한 부분인 SaveAs를 확인해보자
한컴 api문서를 잘 확인해보자
https://www.hancom.com/board/devmanualList.do?artcl_seq=3993
함수 형태
SaveAs(Path, [string format], [string arg])
첫번째 파라미터에 경로를 두번째 파라미터에 형식을 넣어주면 된다.
문서를 잘 보면 알겠지만 친절하지 않다. format과 arg를 알기위해 Open()문서를 봤지만 PDF에 관한건 알 수 없다. 그래서 그냥 일단 되면 되겠지 식으로 진행했다.
https://www.hancom.com/board/devmanualList.do?artcl_seq=3997
그래도 format은 무조건 다 대문자로 써야한다는 힌트는 얻을 수 있다.
아래 실행 영상을 보자
그리고 듀얼모니터를 써서 안나왔지만 한글이 실행되면서 아래와 같은 경고문이 뜬다.
Allow all 해주면 알아서 잘 된다.
추가로 pdf파일도 하나로 합쳐주면 인쇄하기 편하니까
무료이고 편리하다.
'프로그래밍 > Python' 카테고리의 다른 글
UMDCTF Fragile Foundations (0) | 2020.04.23 |
---|---|
python 자료형별 시간복잡도 (0) | 2020.04.11 |
백준 4344 평균은 넘겠지 한줄 풀이 (0) | 2020.04.09 |
dict의 모든 value에 1씩 더하기 (0) | 2020.04.05 |
PDF 에서 사진만빼서 다시 PDF 만들기 (1) | 2020.03.13 |