본문 바로가기

파이썬186

hwp.GetFieldList() # 필드를 다룰 때 꼭 알아야 하는 메서드 응용편에서 튜토리얼을 진행하는 중에 기본 메서드를 자세하게 다루다 보면 의식의 흐름이 툭툭 끊길 수 있어, 이런 식으로 메서드 설명을 기본편에 하나씩 써놓고 참고링크를 달아놓으려고 한다. 1. hwp.GetFieldList() 란? hwp.GetFieldList()는 한/글 컨트롤 오브젝트(HwpCtrl Object)의 메서드 중 하나로 문서에 존재하는 필드(혹은 누름틀)의 목록을 구하는 메서드이다. 개인적으로 한/글 API가 참 친절하다고 느껴지는 부분은 매개변수 파트인데, 필드목록을 구하는 이 간단한 메서드에도 두 개 인자(number, option)에 각각 3개씩의 매개변수가 들어가 있어 누름틀을 상세하게 다룰 수 있다. 2. Number 인자 Number 인자(대소문자 구분)에 들어갈 수 있는 매.. 2021. 1. 22.
[교육업무자동화2/7] 청구서자동화2(필드에 텍스트 자동입력) 지난 포스팅은... [교육업무자동화1/10] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 20XX년부터 고용노동부 국가인적자원개발 컨소시엄 사업으로 전환하여 비회원사까지 대상으로 교육을 개최할 수 있게 되어 매우 큰 자긍심을 가 www.martinii.fun 이번 포스팅의 내용은 지난 포스팅에서 언급한 것처럼, 교육생 정보가 담긴 엑셀파일 등에서 각 행의 값들을 해당하는 누름틀(필드)에 차례로 삽입하는 과정을 자세히 설명하고자 한다. 1. 파이썬을 통해 한/글을 실행해보자. 이 부분은 솔직하게 먼저 한 가지 말씀드리고 넘어가야겠다. 필자는 기존에 열려 있는 한글창을 파이썬으로 연결하는 방법을 모른다. pywinauto를 통해 기존에 열린 창의 GUI를 제어하는 방법은 있지만,.. 2021. 1. 22.
한/글 2020 최신 업데이트로도 고쳐지지 않은 API버그 탭을 여러 개 열어놓은 한글창에서 hwp.XHwpDocuments.Item(0).Close(isDirty=False) 명령을 실행하면, 해당아이템(첫 번째 탭)이 닫히는 게 아니라 현재 활성화된 탭이 닫힌다. 이 버그 때문에, 특정 탭을 닫고 싶을 땐 hwp.XHwpDocuments.Item(1).SetActive_XHwpDocument() # 닫고 싶은 탭을 활성화한 후에 hwp.Close(isTab=False) # 닫아야 한다. 불편할 정도는 아니지만 계속 신경쓰인다;; 2021. 1. 14.
문서 안의 컨트롤을 차례대로 선택하는 가장 간편한 방법 먼저, 아래아한글에서 "한글컨트롤", 혹은 "컨트롤"이라 함은, 일반적인 문자열 외에 삽입되는 그림, 표, 벡터이미지, 미주각주나 계산식 등의 "오브젝트"를 뜻하는 용어이며, API매뉴얼 예제에 컨트롤을 선택하는 예제코드가 몇 개 들어있다. 정확히 의미를 몰라도 되니, 아래 코드를 가볍게 한 번 읽어보자. 1. Visual Basic으로 문서 중의 각주를 카운트하는 코드 Dim ctrlcode As CtrlCode cnt = 0 Set ctrlcode = HwpCtrl.HeadCtrl While Not ctrl Is Nothing If ctrlcode.CtrlID = "fn" Then cnt = cnt + 1 End If Set ctrlcode = ctrlcode.Next Wend MsgBox cnt 2.. 2021. 1. 13.
HWP여백조정 후 이미지 너비/높이를 폭에 맞게 일괄조정하는 방법 HWP포맷을 사용하는 소규모의 출판사가 의외로 많다는 걸 최근들어 알게 되었다. 그도 그럴 것이, 인디자인이나 퍼블리셔 같은 프로그램 없이도 직접 책을 출판하고 SNS로 홍보할 수 있는 시대가 열렸다. 이 부분은 다음에 더 이야기하기로 하고, 수백 페이지 규모의 HWP문서를 만질 때는, 특히 이미지가 많은 문서라면 정말 고생하는 경우가 있는데, 그 중 최고랄 만한 작업은 바로 "용지를 바꾸거나 여백을 변경했을 때"이다. ㄷㄷㄷㄷ 이러면 표 뿐만 아니라 각각의 이미지 전체를 문서 폭 안으로 우겨넣거나 늘려야 하는데, (만약 이미지 너비가 "고정값"이 아니면 더 고생한다. 예를 들어 이미지 너비가 "쪽 100%"로 설정되어 있었는데 용지의 좌우여백을 변경해버리면 폭만 자동으로 줄어들어버려서 그림이 좌우로 쪼.. 2021. 1. 7.
[교육업무자동화1/7] 청구서자동화1(누름틀 다루기) (전략) 우리 ㅇㅇㅇㅇㅇㅇ협회 교육운영팀은 20XX년부터 고용노동부 국가인적자원개발 컨소시엄 사업으로 전환하여 비회원사까지 대상으로 교육을 개최할 수 있게 되어 매우 큰 자긍심을 가지고 교육 준비 및 개최를 하고 있습니다. 다만, 교육접수안내, 개별문의 응답 등 일일이 전달을 드리거나 문의응답하는 데 상당히 어려움이 있는 상황입니다. 2~3명의 인원이 사업계획 작성 및 교육개발, 교육운영, 비용정산, 회계감사, 홍보, 수요조사, 운영위원회 등 독립교육센터와 유사한 수준으로 모든 단계의 업무를 직접 진행하고 있습니다. 아울러 업계 교육인원이 많지 않아 관련 자동화 프로그램 개발은 어렵기에, 교육비 청구서, 납부확인증, 수료증을 비롯 각종 문서도 "한/글"로 수작업 중입니다. 우리 팀이 있기 전에는 회원사만.. 2020. 12. 29.
[교육운영업무 자동화] 청구서, 영수증 및 수료증 자동발급 개 요 이번에 알려드릴 파이썬-한/글 자동화 주제는, 교육운영부서에서 흔히들 가장 시간을 많이 잡아먹는 막중3종 업무세트인 "교육비 청구서, 납입영수증 및 수료증 발급"이다. 본 포스팅에 사용된 자료는 실제 자동화를 의뢰했던 ㅇㅇ협회 교육운영팀 자료를 모티브로 하였으며, 모자이크 등을 통해 사명이나 주소, 개인정보 등을 가리기도 하였지만, 첨부하는 hwp파일 또한 포스팅에 맞게 경미한 수정 및 단순화작업을 거친 자료임을 먼저 밝힌다. 이메일을 주고받으면서, 위 협회(이하 "협회"라 칭함) 담당자에게 해당 업무를 자동화하지 못한 이유를 물었는데, "비용이 크기 때문"이라고 했다. 필자가 의외라고 생각했던 점은, 의뢰내용 모두 아주 간단한 스크립트 매크로 수준에서 자동화할 수 있는, 정말 단순한 업무들이었다.. 2020. 12. 27.
현재 용지속성을 조회만 하고 싶다면? 안녕하세요 한글문서관련 프로그램을 작성하는 개발자 입니다. 우연히 한컴 개발커뮤니티에서 “현재 용지정보 가져오기 PageSetup” 관련 답변을 달아 놓으신 걸 검색 했습니다. 다름이 아니라 알려 주신대로 하니 특정파일(AAA.hwp)를 열고 하면 ‘0값만 나옵니다. 아래 코드좀 봐주실 수 있으신가요? C#으로 되어 있습니다. AxHwpCtrl ax03 = new AxHwpCtrl(); ax03.CreateControl(); ax03.RegisterModule("FilePathCheckDLL", "FilePathCheckerModuleExample"); ax03.Clear(); ax03.Open(@"AAA.hwp"); HWPCONTROLLib.HwpAction hwpact = (HWPCONTROLLib... 2020. 12. 21.
[5/5, HwpEqn] 수식을 png이미지와 MathML, LaTeX로 내보내기 지난 포스팅은... [4/5, HwpEqn] 수식문자열로 수식 만드는 방법 지난 포스팅은... [3/5, HwpEqn] 컨트롤 탐색방법(feat. 파이썬) 지난 포스팅은... [2/5, HwpEqn] HWP문서 수식을 텍스트로 추출하는 방법 (1) 안녕하세요 ~ 저는 유튜브 회사원코딩 구독자입니다. 올려주신 www.martinii.fun 지난 포스팅에서는 (다소 간략히) 미리 저장해놓은 한/글 수식 문자열을 가지고 수식을 만드는 과정을 보여드렸다. 강조하지는 않았지만, 수식 문자열만 가지고 수식을 생성할 때 맞닥뜨리는, 저품질의 폰트 해결방법이 들어가 있으니, 필요할 때 참고하시기 바란다. 이번 포스팅에서는 한/글의 수식 전부를 이미지(배경투명 png나 흰배경의 gif포맷)로, 또는 mml(MathML).. 2020. 12. 20.