본문 바로가기

아래아한글 자동화255

PDF드라이버를 직접 골라서 변환하는 두 줄 코드 한컴에서 제공하는 기본 PDF드라이버인 "Hancom PDF"를 사용하다 보면 종종 오류가 발생할 때가 있습니다. 그게, 명확하게 어떤 오류메시지가 뜨는 게 아니라 변환중에 그냥 꺼져버린다든지, 수십개의 hwp파일을 pdf로 열심히 변환해놨는데 변환결과를 보니 막 서체가 깨져 있다든지, 나중에 확인해보니 전부 용량이 0이라든지 회사에서도 적잖이 당황했던 경험이 많습니다. (2010 버전의 hancom pdf 드라이버로 다시 설치하라고 권하는 분들도 계시던데, 저는 해결이 안되더군요) 하여튼 예전에 유튜브에도 PDF변환 관련한 영상을 올린 적이 있었는데 (311) 수백개의 HWP파일을 PDF로 변환해야 한다면? [파이썬으로 한컴오피스 한글2018 조작하는 방법2 : PDF일괄변환] - YouTube 최근에.. 2022. 9. 21.
[QnA] (5/5) 특정단어를 포함한 문단을 표로 감싸기-최종 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 자, 이전포스팅까지의 내용을 통해 드디어 모든 재료가 완성되었습니다. 2022.09.19 - [업무자동화/파이썬-아래아한글 자동화 응용] - [QnA] (2/?) 표 생성하고, 수정하기 [QnA].. 2022. 9. 19.
[QnA] (4/5) 특정 단어를 포함한 문단 검색하기 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 지난 포스팅에서는 지난 포스팅에서는 용지의 너비와 문단의 높이를 구하는 함수를 구현해보았습니다. 2022.09.19 - [업무자동화/파이썬-아래아한글 자동화 응용] - [QnA] (3/5) 문단의.. 2022. 9. 19.
[QnA] (3/5) 문단의 높이와 너비(HwpUnit) 구하기 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 문단의 크기를 좌표값으로 구할 수 있다면 얼마나 좋을까요? 그런데 한글에는 그런 기능이 구현되어 있지 않으니 문단의 줄 수, 글자높이(pt)와 줄간격(%)을 더해서 문단의 높이를 직접 계산해보겠습.. 2022. 9. 19.
[QnA] (2/5) 표 생성하고, 수정하기 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 이전 포스팅(인트로)에서는 특정 단락 위치에 백그라운드로 표를 삽입하는 방법을 구상해보았고, 그 이유와 대략적으로 구현해야 하는 함수 다섯 개를 짚어보았습니다. 2022.09.19 - [업무자동화.. 2022. 9. 19.
[QnA] (1/5) 특정단어 포함 문단 뒤에 표 깔기-인트로 안녕하세요. 한글 자동화 프로그램을 공부하고 있는데 궁금한 사항이 있어 질문합니다. 특정 글자가 들어가 있는 문단을 찾아서 그 곳에 글뒤로 속성으로 표를 삽입하고 싶습니다. 1. 자동으로 표 생성시 속성을 "본문과의배치"에서 "글뒤로" 선택하여 생성할 수 있나요? 이 속성없이 생성시 문단에 삽입되면서 글자가 밀려나는 현상이 발생합니다. 2. 찾은 문단의 위치값을 HWPUNIT 값으로 알 수 있나요? 표 생성시 위치값은 HWPUNIT으로 지정해야 하는데 현재 찾은 위치의 속성은 줄,칸으로 알려주네요. 이상입니다. 한/글 개발자 커뮤니티에 재미있는 질문이 있어 블로그에서 다뤄보겠습니다. 이를테면 이런 예제를 말씀하시는 것 같아요. 아래와 같은 문서가 있을 때 특정 단어가 들어가는 문단에 다음과 같이 백그라운.. 2022. 9. 19.
SetPos 대신 SetPosBySet을 쓰면 훨씬 유용한 경우 : GetAnchorPos와 연계할 때 컨트롤코드를 써서 아래아한글 보고서 자동화를 할 때 십중팔구 사용하는 메서드가 있습니다. 해당 컨트롤의 위치를 찾아내는 GetAnchorPos, 그리고 찾아낸 위치로 찾아가는 SetPos가 대표적이죠. 이전 예제에서 사용한 GetAnchorPos 메서드 예제 일부를 먼저 살펴보겠습니다. def 문자열삽입(문자열): hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = 문자열 hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) caption_list = [ "구름 낀 하늘", "푸른 하늘", .. 2022. 9. 15.
문서좌표를 활용하는 고급메서드 : GetAnchorPos() 지난 포스팅에서 한/글 문서의 위치정보에 대해 설명드렸습니다. 2022.09.08 - [업무자동화/파이썬-아래아한글 자동화 기초] - 아래아한글 문서의 위치(좌표)체계 아래아한글 문서의 위치(좌표)체계 아래아한글 문서의 위치체계 아래아한글 문서에는 명확하게 위치체계가 존재하고, 비어있는 공간이 아닌 이상 좌표(?)가 매겨져 있습니다. 마치 3차원 좌표계(x, y, z)처럼 말이죠. 이 글에서 사용 martinii.fun (List, Para, Pos)로 구성된 3차원 벡터는 마치 좌표를 연상하게 하는데요. 굳이 누름틀이나 필드를 이용하지 않고도 얼마든지 자유롭게 원하는 위치로, 혹은 오프셋 이동이 가능하기 때문에, 다양한 방법으로 활용할 수 있겠습니다. 이번 포스팅은 "이미지마다 캡션 텍스트 달기" 위치.. 2022. 9. 8.
아래아한글 문서의 위치(좌표)체계 아래아한글 문서의 위치체계 아래아한글 문서에는 명확하게 위치체계가 존재하고, 비어있는 공간이 아닌 이상 좌표(?)가 매겨져 있습니다. 마치 3차원 좌표계(x, y, z)처럼 말이죠. 이 글에서 사용하는 "좌표"라는 용어는 제가 편의상 임의로 붙였으며, API의 공식 명칭은 아님을 밝힙니다. 기존에 작성했던 대부분의 포스팅에서는 "누름틀"이나 "필드"를 이용해서 작업을 자동화했기 때문에 굳이 좌표를 계산하거나 추출해야 할 필요가 없었습니다. 그런데 아래 예제 같은 경우에는 좌표개념을 사용하면 작업이 훨씬 수월해집니다. 2022.09.06 - [업무자동화/파이썬-아래아한글 자동화 기초] - [QnA] 한글에서 특정 글꼴 찾아 태그 붙이기 [QnA] 한글에서 특정 글꼴 찾아 태그 붙이기 안녕하세요. 우연히 유.. 2022. 9. 8.