본문 바로가기

아래한글74

[2/5, HwpEqn] HWP문서 수식을 텍스트로 추출하는 방법(feat. 파이썬) (1) 안녕하세요 ~ 저는 유튜브 회사원코딩 구독자입니다. 올려주신 영상들 잘 시청하고 있습니다. 문의드릴 사항으로는 한글 파일을 이미지로 변환하여 저장하고, 한글파일내의 텍스트의 위치 정보와 텍스트값(수식 포함, latex)을 추출하고 싶은데, 이것이 win32com 파이썬 모듈로 개발 가능한것인지 궁금합니다. 만약 가능하다면 대략 어떠한 flow로 처리해야할지 궁금합니다. 항상 건승하시길 바랍니다. 감사합니다. (2) 마티니님, 알려주신 내용을 기반으로 텍스트 값 및 위치를 먼저 추출해보려고 하였으나, 수식이 포함된 텍스트를 text = hwp.GetText() 로는 추출이 안되어 진행 방향을 못잡고 있습니다 ;; (테스트해본 한글파일은 첨부파일과 같습니다.) 혹시, 어떤 API들을 써야하는지 알수 .. 2020. 12. 18.
[4/4] 파이썬으로 정관.HWP 서식잡기 종합 지난 포스팅은... [3/4] 정관문서 서식잡기(장이름 중앙정렬, 위아래 빈라인 삽입) 3번 질문============== 정관 제 1 장 총칙 제 1조 제 2조.. 제 3조... 제 2 장 주식과 주권 제 4조.... 제 5조.. 제 3 장 임원 제 6조 등과 같을 때. 장의 위치를 페이지 가운데로 위치하고 싶고, 또한 각 장 www.martinii.fun 중앙정렬과 각 조항 위아래 빈 줄을 추가하는 것을 끝으로 정관이나 법령 서식 교정하기 콘텐츠는 마무리를 지으려 한다. 이번 포스팅에서는 추가 정보를 제공하는 것보다는, 1. 입맛대로 개별의 코드를 하나의 파일로 모아서, 한 번에 실행할 수 있다는 걸 보여주고 싶고, 2. 아래에서 보여줄 예제처럼, 모든 함수를 한 파일에 우겨넣으면 파일이 굉장히 비대.. 2020. 12. 16.
[한/글자동화 예제] 글자크기를 임의로 바꾸는 간단한 방법 앞 포스팅에서는 글자 속성을 적용하는 여러가지 방법에 대해 알아보았다. 2020/12/14 - [파이썬-아래아한글 자동화 기초] - [한/글자동화 예제]현재 선택영역에 글자속성 적용하기 [한/글자동화 예제]현재 선택영역에 글자속성 적용하기 반말체를 쓰니까, 포스팅 작성속도가 월등히 올라가길래 그렇게 할 예정. 우선, 특정 영역에 찾아가거나 선택하는 방법은 다양하다. "찾기Ctrl-F"를 사용하거나, "탐색GetText" 메서드를 사용하거나, www.martinii.fun 재미있는 것은, 글자 크기도 속성이므로, 동일한 방법으로 현재 글자크기 정보를 얻거나, 크기를 조정할 수도 있다. 가장 아날로그한 방법부터 알아보자. 1. Shift-Alt-E를 사용하는 방법 hwp.Run("CharShapeHeight.. 2020. 12. 15.
현재 위치 글자모양에 "진하게"가 적용되어 있는지 확인하는 방법 자동화 하다 보면 이런 상황을 종종 만납니다. 특정 위치, 혹은 특정 문구를 가진 구간을 선택해서 "진하게"를 적용해야 하는데, 일괄적으로 모든 검색구간에 hwp.Run("CharShapeBold")를 실행해버리면 기존에 진하게 되어 있던 구간들은 모두 "진하게"가 풀려버리잖아? 이런 경우 해결하는 방법입니다. 우선 코드실행 화면은 아래와 같습니다. 조항번호 재정렬 및 조항명 진하게 하는 코드 실행화면 현재 캐럿이 위치해 있는 글자 혹은 선택영역의 속성적용여부를 알아내는 코드는 아래와 같습니다. Act = hwp.CreateAction("CharShape") # "글자모양" 액션 생성 Set = Act.CreateSet() # 해당 세트 생성 Act.GetDefault(Set) # 세트 초기화(Set의 .. 2020. 12. 7.
2019년 파이콘 참석영상(코알못 직장인) 안녕하세요? 회사원코딩의 Martinii입니다. 아래 영상은 작년 파이콘코리아 세션에 큰맘먹고 15분 발표신청을 해봤는데 운좋게 단상에 서게 되었고, 주최측에서 녹화해주신 영상입니다. 워낙 바쁘고 스트레스를 많이 받던 시기이기도 했고, 제대로 준비를 해서 더 멋진 모습을 보여드리고 싶었는데, 머릿속에서 그렸던 대로 발표가 이뤄지지는 않아 섭섭함이 많이 남은 발표지만, 여러 번 보니 오글거림이 줄어들기는 하더군요ㅜ (이번 2020에도 염치없이 신청해볼까 했다가, 별다른 진전이 없어서 포기하게 되었습니다. 비슷한 주제라면 더 잘 할 수 있을 것 같은데...) 그리고 아래 영상은 2019파이콘 준비를 위해 실시했던 격월세미나(?) 에 또 한/글 자동화 관련해서 무작정 발표신청하고 찾아가서 10분 발표를 했는데.. 2020. 8. 17.
한/글 파일로 사내 설문조사를 만들어 취합해보자.[1/2] 아래아한글이 익숙한 대한민국 공무 직원들에게는 구글설문이나 MS폼즈도 좋지만, 자료전송을 거쳐서 엑셀로 취합하고 다시 한글로 변환하고 이런 작업이 번거롭습니다. 시간 잘 가는 걸 좋아하시거나 기존 방법을 좋아하시는 분들은 하던 대로 하시고(취존) 아래아한글로 설문파일을 만들어서 취합을 원하시는 분들은 아래 코드와 한/글파일을 참고해 주시기 바랍니다. 설문조사를 위한 한/글 파일은 아래와 같이 생겼습니다. (예제라서 간단하게..) 그리고 코드는 아래와 같습니다. import os from collections import defaultdict import win32com.client as win32 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") hw.. 2020. 8. 4.
[파이썬-한/글] 현재 커서의 페이지를 알고 싶다? 안녕하세요? 자동화작업을 할 때, 표 안에 이미지나 장문의 텍스트를 삽입하다 보면 다음페이지로 넘어가버릴 수 있죠. ("글자처럼 취급"한 상태면, 개체전체가 다음페이지로 넘어갈 거고, 그렇지 않으면 셀이 다음 페이지로 넘어가 있겠죠?) 이걸 방지하기 위해서 현재 표의 위치, 현재 캐럿의 위치를 알아보고 싶은 경우들이 있습니다. 어마어마한 분량의 작업을 자동화하면서 모니터를 계속 쳐다볼 수는 없는 노릇이잖아요? 아래는 캐럿(커서)의 현재 페이지를 출력하는 코드입니다. import win32com.client as win32 # 모듈 임포트 hwp = win32.gencache.EnsureDispatch("HWPFrame.HwpObject") # 한/글 열기 hwp.XHwpWindows.Item(0).Vis.. 2020. 7. 30.
[파이썬-아래아한글] API매뉴얼과 스크립트매크로가 다르다? 안녕하세요? 회사원코딩의 신명진입니다. 이번 포스팅은, 스크립트매크로와 API매뉴얼 코드의 차이에 대해서 한 번 보여드리려고 합니다. 어떤 간단한 예제를 들어볼까 하다가, 쪽번호 감추기를 골라보았습니다. 아래는 스크립트매크로 녹화(Shift-Alt-H)를 이용한 "쪽번호 감추기" 기능입니다. function OnScriptMacro_script5() { HAction.GetDefault("PageHiding", HParameterSet.HPageHiding.HSet); with (HParameterSet.HPageHiding) { Fields = Hiding("PageNumPos"); } HAction.Execute("PageHiding", HParameterSet.HPageHiding.HSet); } .. 2020. 7. 29.
[파이썬-아래아한글] 제가 아래아한글 작업을 자동화하는 요령은.. 안녕하세요? 회사원코딩의 신명진입니다. 아래아한글 홈페이지 - 고객지원 - 개발자료실에 가면 아래아한글을 코딩으로 자동화할 수 있는 다양한 언어 예제와 API 매뉴얼이 있습니다. VB, MFC, C#, JS 등의 언어로 구현이 되어 있어요. 파이썬 코드도 이와 크게 다르지 않아서, API 매뉴얼을 어느 정도 읽어보시면 독학으로도 충분히 파이썬 자동화를 하실 수 있습니다. (링크 : https://www.hancom.com/board/devdataList.do?gnb0=25&gnb1=81 ) 신기하게도 아래아한글의 API는 같은 기능을 가지고도 구현방법이 여러가지입니다. 이게 제일 생소했던 부분인데, (문의메일을 보면 이 부분 때문에 "방대하고 어렵다"고 느끼시는 분도 많은 것 같아요.) 사실 파이썬에서 .. 2020. 7. 28.