본문 바로가기

분류 전체보기470

가볍게 배운 내용으로 강의할 때 빠지기 쉬운 함정이랄까? 최근 정말 감사하게도 귀인을 만나서 4시간 클래스를 두 번에 걸쳐 진행하게 되었습니다. 제법 큰 강의비도 선뜻 선불로 쏴주시고, 전적으로 저를 믿고 맡겨주셔서 저도 최선을 다해 준비하는 중에 문득 이런 생각이 들더군요. 최근 1인 지식창업가들 사이에서는 뭐든 빠르게 배우고 바로 입문강의로 아웃풋을 내라는 조언이 은근히 많이 보입니다. 그런데, 그런 강의들이 쉽게 빠질 수 있는 가장 큰 함정이자 단점을 꼽으라면 (강사도 입문자라면) 뭔가 기초를 꼼꼼히 알려줄 수 있지만 아무래도 "강의 이후의 방향"에 대해서는 적절하게 제시해주기 어렵다는 거겠지요. 제 이번 강의도 YOLOv8을 통한 이미지 인식과 분할 방법인데 실제 현업에서 어떻게 쓰이는지 최소한의 사례나, 방향이라도 알려주지 않으면 빈 깡통 같은 이론강.. 2024. 1. 28.
[pyhwpx] 한 줄의 코드로 자간자동조절 : auto_spacing 아래아한글 보고서 작성할 때, 자간 조절 작업만큼 사람 기빠지게 하는 작업이 또 있을까요ㅜ 맞아요. 힘들어서가 아니라, 자괴감이 들지요. HTML 삽입 미리보기할 수 없는 소스 격한 공감ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ 윗분들은... 그냥 읽으시면 되는데, 외국인들은 자간조절 같은 거 안 하고 그냥 단어단어 끊어서 잘만 쓰던데.. "보기 좋다는" 보고서를 만들기 위해 자간조절 따위에 시간을 쓰고 있으면 정말 스트레스 받습니다. 팀장, 처장, 본부장, 사장이라는 사람들이 줄글에 단어 하나 끊어졌다고 문맥파악 못 하는 것도 아니고, 보고서 읽는 시간이 엄청 길어지는 것도 아닌데ㅜ 이상한 공무행정 관행이 우리나라에만 유난히 굳어져 있는 것 같아요. 그럼에도 하여튼, 이런 자간조절 작업 때문에 퇴근을 10분 더 늦.. 2024. 1. 26.
[pyhwpx] 폰트 설정을 위한 set_font 메서드 아래아한글의 글자모양은 제법 다양한 옵션들을 가지고 있습니다. 일반적인 보고서를 작성할 때 사용하는 글자크기(height), 위첨자와 아래첨자, 특별한 경우 글자색을 넣는 정도 외에도 다양한 글자모양 옵션을 아래와 같이 간단한 명령어를 조합하여 적용해볼 수 있습니다. hwp.set_font()의 파라미터 목록 Bold: 진하게 적용(True/False) DiacSymMark: 강조점(0~12) Emboss: 양각(True/False) Engrave: 음각(True/False) FaceName: 서체 이름 FontType: 1(TTF, 기본값) Height: 글자크기(pt, 0.1 ~ 4096) Italic: 이탤릭(True/False) Offset: 글자위치-상하오프셋(-100 ~ 100) OutLine.. 2024. 1. 26.
[pyhwpx] 한/글 자동화 문의 및 요청의 90%는 ㅇㅇ 관련이었어요. 안녕하세요? 일코입니다. 유튜브와 블로그를 운영하면서 받았던 문의 중 90%는 바로 "표"에 관한 내용들이었습니다. 표는 비단 행정뿐만 아니라, 한/글을 통해 작성되는 문서에서 가장 많이 쓰이는 컨트롤이죠. 그런데 기존의 한/글 오토메이션 API를 통해 표를 읽어오거나, 표를 작성하는 메서드는 다소 큰 진입장벽이 있었습니다. 예를 들어 비교적 최근 만든 pyhwpx에서 5행5열의 표를 만들고 "글자처럼 취급"을 적용하는 코드는 아래 세 줄이면 되지만, from pyhwpx import Hwp hwp = Hwp() hwp.create_table(5, 5, treat_as_char=True) 그런데, 기존 오토메이션API를 통해 동일한 표를 직접 생성하려면 무려 아래의 코드를 작성해야 합니다. (혹시 관심 .. 2024. 1. 25.
[pyhwpx] 파이썬 정규식으로 찾아바꾸기 pyhwpx.Hwp().find_replace_all(src, dst, regex=True) regex=True로 설정하면 re.sub와 동일한 방식으로 정규식 문법을 사용할 수 있다. 예를 들어 주민등록번호 패턴인 123456-1234567을 123456-1******로 변경하고자 하면, (여러가지 구현이 있겠지만) src = r"(\d{6})-(\d)\d{6}(?=\D|$)" dst = r"\g-\g******" hwp.find_replace_all(src, dst, regex=True) 라고 코드를 입력하고 실행해보자. 시연화면은 아래와 같다. 정규식 찾아바꾸기 시연화면 바뀌기 전의 원본문서는 아래와 같고 정규식 찾아바꾸기를 적용한 후의 문서는 아래와 같다. 메서드 내부에서는 re.sub를 사용하지.. 2024. 1. 23.
[크롤링 연계2] 보건소 정보로 한/글 파일 만들기 이전 포스팅에 이어, [크롤링 연계] 전국 보건소 정보 가져오기1 아래 코드를 주피터노트북에서 실행하면 질병관리청의 "전국 보건소 정보"를 엑셀로 저장한다.HTML 삽입미리보기할 수 없는 소스다음 포스팅에서는 이 엑셀파일을 한/글의 표로 옮겨보겠다. 미 martinii.fun 엑셀로 취합한 전국 261개 보건소 및 의료원 정보를 한/글 문서의 표로 생성하는 방법을 알아보자. 1. 그대로 집어넣기(세상 간편) 엑셀시트 그대로 삽입하는 방법이다. "보건소.xlsx" 파일이 저장된 위치에서 아래 코드를 실행하면, from pyhwpx import Hwp hwp = Hwp() hwp.table_from_data( "./보건소.xlsx", # 엑셀파일명 index=False, # 1열에 연번 추가안함 cell_f.. 2024. 1. 23.
[크롤링 연계1/2] 전국 보건소 정보 가져오기 feat.질병관리청 아래 코드를 주피터노트북에서 실행하면 질병관리청의 "전국 보건소 정보"를 엑셀로 저장한다. HTML 삽입 미리보기할 수 없는 소스 다음 포스팅에서는 이 엑셀파일을 한/글의 표로 옮겨보겠다. 미리 언급해 두는데, 한/글로 옮기는 코드는 짧다. 2024. 1. 23.
"박태웅 의장의 AI강의" 독후감 및 근황 요즘 아침에 일어나면 정신을 차릴 때까지 시간이 좀 걸리는데, 오랜만에 힐링도 할 겸 집앞의 도서관에 갔다. 찬 공기도 쐬고, (정도가 아니고 귀가 찢어지는 줄 알았다ㅜ) 걷기도 할 겸 동부도서관에 들렀는데, 의외로 오전 아홉시에도 사람들이 제법 있었다. 신간 코너에 흔히 보이던 IT서적이나 AI관련 서적이 보이지 않았는데, 문득 박태웅 의장님의 "AI강의"라는 책이 생각났다. 전부터 꼭 읽어보고 싶었던 책이다. (하도 호평 일색이어서) 검색PC에서 찾아보니, 의외로 IT가 아닌 다소 엉뚱한(?) 카테고리에 꽂혀 있었다. 크기도 작고, 의외로 얇아서 다 읽는 데 두 시간 남짓 걸렸다. 가볍게 서평을 남겨본다. 책은 크게 두 부분으로 나뉜다. 앞쪽은 AI에 대한 정말 가벼운 교양을 담았다고 해야 하나? 좀.. 2024. 1. 23.
[pyhwpx] 그라데이션 폼 미쳤다! feat. gradation_on_cell pyhwpx.Hwp().gradation_on_cell() 소스코드는... from pyhwpx import Hwp hwp = Hwp() page_info = {'아래쪽': 0, '꼬리말': 0, '제본여백': 0, '제본타입': 0, '머리말': 0, '용지방향': 0, '왼쪽': 0, '용지길이': 108, '용지폭': 192, '오른쪽': 0, '위쪽': 0} hwp.set_pagedef(page_info) hwp.create_table(1, 1, height_type=1, height=107, treat_as_char=True) hwp.MoveDocEnd() hwp.DeleteBack() hwp.get_into_nth_table(0) hwp.insert_picture(r"C:\Users\Admin.. 2024. 1. 18.