본문 바로가기

자동화77

[GIMP] 파이썬으로 플러그인 만들기⑤: 컬러링북 만들기(최종) 지난 포스팅에서는 필터 명령어 pixelize와 관련 파라미터 입력을 클릭 한 번에 처리할 수 있는 Pixelize라는 플러그인을 직접 만들어보았습니다. 팁으로 플러그인에 단축키를 지정하는 방법이나 플러그인 새로고침하는 단축키(Ctrl-Shift-Alt-R)도 알려드렸어요. 2023.01.31 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기③: 워크플로우 자동화 기초 [GIMP] 파이썬으로 플러그인 만들기③: 워크플로우 자동화 기초 지난 포스팅 말미에서는 사용자변수의 image와 drawable 파라미터를 통해 각각 김프의 프로젝트파일, 활성화된 레이어에 접근할 수 있다는 점을 알아보았습니다. 2023.01.31 - [기타/무료포토샵 gimp 튜 martinii.fun.. 2023. 1. 31.
[GIMP] 파이썬으로 플러그인 만들기④: 플러그인에 단축키 지정하기 자주 쓰는 워크플로우를 python-fu를 통해 플러그인으로 만들었을 때, 단축키를 지정해놓고 간편하게 쓰고 싶은 분들 계시죠? (아직은 때가 아닌가?^^;) 하지만 GIMP의 Edit - Keyboard Shortcuts 메뉴에서는 기본적으로 플러그인에 단축키를 붙일 수 없게 되어 있습니다. 유일한(?) 대안은 Alt키를 이용한 컨텍스트 단축키를 추가해주는 방법인데요. python-fu 플러그인의 register 함수 안에 label의 이름을 지정할 때 사이에 언더스코어를 붙이면 언더스코어 뒤의 글자가 Alt 컨텍스트 단축키가 됩니다. 예를 들어 제가 만든 플러그인의 label이 "desatunshp"라고 하면 label을 "_desatunshp"로 고쳐주면 메뉴바에서도 이렇게 변경됩니다. 다른 메뉴들.. 2023. 1. 31.
[GIMP] 파이썬으로 플러그인 만들기③: 워크플로우 자동화 기초 지난 포스팅 말미에서는 사용자변수의 image와 drawable 파라미터를 통해 각각 김프의 프로젝트파일, 활성화된 레이어에 접근할 수 있다는 점을 알아보았습니다. 2023.01.31 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기②: image와 drawable 다루기 기초 [GIMP] 파이썬으로 플러그인 만들기②: image와 drawable 다루기 기초 지난 포스팅에서는 김프의 오류 로그창에다 "Hello, world!"를 찍어보았습니다. 우리가 만든 플러그인이 제대로 작동한다는 걸 직접 확인해보았어요. 2023.01.30 - [기타/무료포토샵 gimp 튜토리얼] - [GIM martinii.fun 기본이 되는 부분만 간략히 짚어본 정도지만 이제 복잡한 워크플로우.. 2023. 1. 31.
[GIMP] 파이썬으로 플러그인 만들기②: image와 drawable 다루기 기초 지난 포스팅에서는 김프의 오류 로그창에다 "Hello, world!"를 찍어보았습니다. 별 것 아닌 것 같지만 우리가 만든 플러그인이 제대로 작동한다는 걸 확인했다는 데 큰 의의를 두고 습니다. 2023.01.30 - [기타/무료포토샵 gimp 튜토리얼] - [GIMP] 파이썬으로 플러그인 만들기①: 오류콘솔에 "Hello, world!" [GIMP] 파이썬으로 플러그인 만들기①: 오류콘솔에 "Hello, world!" 최근 GIMP를 배우는 데 박차를 가하던 중에 페북에 간단한 튜토리얼을 올렸는데 한 페친 분께서 이런 댓글을 남겨주셨어요. 여차저차해서 시작하게 된 튜토리얼이지만, 사실 예전부터 만들어 보 martinii.fun 이번 포스팅에서는 본격적으로 프로젝트 파일(image)과 활성레이어(draw.. 2023. 1. 31.
[GIMP] 파이썬으로 플러그인 만들기①: 오류콘솔에 "Hello, world!" 최근 GIMP를 배우는 데 박차를 가하던 중에 페북에 간단한 튜토리얼을 올렸는데 한 페친 분께서 이런 댓글을 남겨주셨어요. 여차저차해서 시작하게 된 튜토리얼이지만, 사실 예전부터 만들어 보고 싶은 플러그인이 있긴 했거든요ㅎㅎ 바로, 썸네일 자동생성기! 아니, 이 튜토리얼에서 다룰 내용은 아니고... 먼 여정의 첫 걸음은 역시 헬로월드지. 해외 포스팅과 스택오버플로, 유튜브 동영상을 뒤진 끝에 첫 걸음을 내딛게 되었으니.. 이 튜토리얼 시리즈는 제 배움의 여정이자 제가 다시 읽기 위한 기록이므로 여러분께는 다소 불친절할 수 있다는 점, 양해 바랍니다^^ 오늘은 김프의 파이썬 플러그인 구조와, 등록방법 그리고, 가장 간단한 튜토리얼인 헬로월드 찍기를 보여드리려고 해요. 이번 포스팅의 목차는, ① 파이참 연동.. 2023. 1. 30.
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.
hwp파일 열 때 한/글 자체 다이얼로그를 이용하면 qt도 tkinter도 필요없다!? 안녕하세요? 한/글에서 제공하는 API 중에는 대화상자를 열어주거나, 파일을 열거나, 대화상자를 띄워주는 메서드가 있습니다. 어쩔 수 없이 PyQt나 tkinter 등을 사용해야 하는 경우도 있지만 (여러 파일을 불러온다든지, 엑셀파일이나 다른 확장자를 불러와야 하는 경우 등) 기본적인 작업, 한/글 파일 하나를 불러와서 자동화작업을 하는 경우에는 거추장스럽게 GUI모듈을 임포트하지 말고 한/글에서 자체 제공하는 파일열기 다이얼로그를 사용하시면 코딩이 훨씬 간편해집니다. 사용법은 엄청나게 간단하거든요. 바로 hwp.Run("FileOpen") 입니다. 사용방법은 아래와 같습니다. Run 코드 한 줄이면 GUI가 뚝딱! 간편하지요? 한/글에서 제공하는 다양한 Run메서드가 궁금하시다면? hwp의 Run메서.. 2022. 4. 9.
GetText 실행 후에 찾아가서 수정하는 방법 안녕하세요? 일상의 코딩, 일코입니다. 지난 포스팅에서는, 문자열을 단락별로 탐색해서 리턴해주는 GetText라는 메서드를 소개해 드렸습니다. 2022.02.04 - [업무자동화/파이썬-아래아한글 자동화 기초] - GetText, 한/글 자동화 고급과정의 첫걸음① GetText, 한/글 자동화 고급과정의 첫걸음① 안녕하세요? 일상의 코딩, 일코입니다. 이전 포스팅에서 찾기 후 매크로 몇 줄을 보태서 문제를 간단히 해결했습니다. 2022.02.03 - [업무자동화/파이썬-아래아한글 자동화 기초] - 찾기로 탐색한 단 martinii.fun 그런데 GetText는 의외로 싱겁습니다. 지금 탐색하고 있는 단락 상태값과, 문자열만 담백하게 리턴해줍니다. 그 문자열을 어떻게 수정해야 하는지는 내 코딩능력을 활용해.. 2022. 2. 6.
pythonwin에서 COM MakePy Utility 목록이 비어있는 오류 해결방법 파이썬으로, 특히 pywin32 모듈로 엑셀이나 아래아한글 자동화를 하시는 분들 계시죠? 저를 포함해서요. 종종 여러 가지 알 수 없는 문제들을 만나는데, 국내에는 파이썬으로 win32를 깊게 다루는 포스팅이 많지 않아서 해결에 수일이 걸리기도 하고, 결국 그 지점에서 포기하는 분들도 많습니다. (가장 많은 오류는 gen_py 관련이 아닌가 생각해봅니다.) 관련 커뮤니티가 만들어지고 활성화되면 참 좋을텐데요. 하여튼 오늘은 제가 새 노트북(무려 XPS13)을 24개월 할부로 지른 기념으로 파이썬도 설치하고 pywin32도 설치하고 교육자료를 준비한다고 분주했는데, 또 처음 보는 오류가 한 번 나타났습니다. pythonwin을 실행해서 MakePy Utility 메뉴를 선택했는데 아래와 같은 오류가 뜨는 .. 2021. 12. 14.