안녕하세요?
일상의 코딩, 일코입니다.
예전 포스팅 중에, 이미지 사이즈 일괄변경 관련하는 방법을 올린 적이 있었습니다.
2021.01.07 - [업무자동화/파이썬-아래아한글 자동화 기초] - HWP여백조정 후 이미지 너비/높이를 폭에 맞게 일괄조정하는 방법
HWP여백조정 후 이미지 너비/높이를 폭에 맞게 일괄조정하는 방법
HWP포맷을 사용하는 소규모의 출판사가 의외로 많다는 걸 최근들어 알게 되었다. 그도 그럴 것이, 인디자인이나 퍼블리셔 같은 프로그램 없이도 직접 책을 출판하고 SNS로 홍보할 수 있는 시대가
martinii.fun
이 글을 쓸 때만 해도
"굉장히 공들여 만든 포스팅"이라고 생각했는데,
댓글알림이 달려서 오랜만에 읽어보니까
'내가 욕심이 어마어마했구나!' 하는 생각이 강하게 드네요.
이것저것 아는 것 전부 다 코드에 우겨넣다 보니까
가독성도 빵이고,
내용도 너무 복잡해져서ㅜㅜ 다시 읽기도 힘드네요.
다섯 조각 이상 쪼개서 시리즈로 다시 연재해도 되겠다 싶네요.
그럼에도, 삽입이미지 사이즈 관련 자동화 작업 하실 때
참고해볼 만한 자료라고는 생각합니다.
리팩토링도 귀찮은데
하물며 리포스팅은...
정말정말 미루고 싶네요.
하여튼,
이 포스팅에는 작은 버그가 있어요.
바로, 이미지 사이즈를 조정하면, 캡션이 사라지는 현상이 있습니다ㅜ

왜 그런지 이유를 추정해보자면,
파라미터셋 테이블의 ShapeObject와 관련 파라미터셋을 찾아 읽어봤는데
"캡션 문자열"은 파라미터셋 안에 아예 포함되어 있지 않더라고요..
그래서인지, GetDefault를 실행해도 현재 캡션의 정보가 파이썬으로 안 넘어오는 것 같아요..
해법은?
복붙을 사용하면 간단히 해결할 수 있습니다.
(가급적 복붙을 자동화에 안 쓰고 싶은데, 이렇게 어쩔 수 없는 경우들이 있네요;)
본 포스팅을 따라해 보고 싶으신 분은
아래 HWP 문서를 다운받아서 따라해봅시다.
전체 작업을 요약하면
0. 문서 여백정보 추출
1. 캡션 복사
①이미지의 캡션 칸에 들어가서(Ctrl-N-C)
②전체선택(Ctrl-A), 복사(Ctrl-C) 후
③캡션영역 밖으로 나감(Shift-Esc)
2. 여백에 맞게 이미지 사이즈 조정(캡션 사라짐)
3. 캡션 다시 붙여넣기
①이미지의 캡션 칸에 들어가서(Ctrl-N-C)
②전체선택(Ctrl-A), 붙여넣기(Ctrl-V) 후
③캡션영역 밖으로 나감(Shift-Esc)
4. 위의 1~3 코드를 반복
위의 1번과 3번 과정은
아래처럼 매크로를 녹화해서
파이썬 함수로 만들어보았습니다.
1. 복사하는 과정 매크로 녹화

녹화한 코드
파이썬 코드
2. 붙여넣는 과정 매크로 녹화

녹화한 코드
파이썬으로 변환한 코드
3. 두 개의 함수를 코드에 추가
전체 코드가 아래와 같이 완성되었습니다.
구현기능에 비해
코드가 굉장히 복잡하고 장황해 보이는데.....
이게 다 제 내공 탓입니다.
부끄럽습니다ㅜ
실행화면은 아래와 같습니다.

의도한 대로 잘 실행되는 것 같네요.
더 깔끔한 구현방법이 있지 않을까 하는 작은 아쉬움이
정말 좁쌀만큼은 있지만,
이쯤에서 욕심을 버리려고 합니다.
이번 포스팅은 여기서 마치겠습니다.
행복한 하루 되세요^^
'아래아한글 자동화 > python+hwp 중급' 카테고리의 다른 글
선택한 특정 구간만 새로운 파일로 저장하는 함수 만들기 (0) | 2022.03.13 |
---|---|
GetText의 첫 단락 인덱스를 수정해야 하는 이유(최종) (0) | 2022.02.08 |
GetText 실행 후에 찾아가서 수정하는 방법 (2) | 2022.02.06 |
댓글