Claude Code로 PPT·PDF·웹툴 자동 만들기 (한글깨짐·에러 해결기)
특강은 하루 네 시간씩 열흘, 차시마다 만들어야 할 게 네 종류였다. 슬라이드 · 교재(학습지) · 웹 자습 도구 · 평가 문제. 이걸 손으로 다 만든다고 생각하니 아득했다. 그래서 처음부터 작정했다. “하나하나 만들지 말고, 찍어내는 틀을 만들자.”
슬라이드: PPT를 ‘열지 않고’ 만든다
발상을 바꿨다. 파워포인트를 열어서 한 장씩 그리는 대신, 슬라이드를 만들어내는 코드를 Claude한테 짜게 했다. 내용(제목·표·비유·예시)만 데이터로 주면, 코드가 그걸 받아 PPT 파일을 토해내는 구조다. 한 장 고치면 전 차시가 같이 고쳐진다.
그 데이터를 받아 .pptx로 뽑는 코드를 짜줘.
톤은 네이비+블루, 표랑 비유 도식이 잘 보이게.
여기까진 순조로웠다. 문제는 그다음이었다.
벽 ①: 만든 게 멀쩡한지 ‘볼’ 수가 없었다
코드가 PPT를 뱉긴 하는데, 그게 제대로 생겼는지 확인하려면 이미지로 변환해서 눈으로 봐야 한다. 보통은 변환 도구(LibreOffice 같은)를 쓰는데 — 이 컴퓨터엔 그런 게 없었다. 설치하려다 보니 일이 더 커졌다. 여기서 Claude랑 나의 ‘우회로 찾기’가 시작됐다.
답은 의외로 가까이 있었다. 이 PC엔 파워포인트가 깔려 있다. 그러면 파워포인트 자체를 프로그램으로 조종해서 슬라이드를 이미지로 뽑으면 되잖아. Claude가 그 방식(COM 자동화)으로 코드를 짰고, 그제야 결과물을 눈으로 검수할 수 있었다.
정공법(변환 도구)이 막혔을 때 포기하는 대신, “이 컴퓨터에 이미 있는 걸로 같은 결과를 낼 방법”을 같이 찾았다. 이게 AI랑 일하는 진짜 요령이다. 막히면 “이건 왜 안 되고, 대신 뭘로 우회할 수 있어?”라고 묻는다.
벽 ②: 교재를 PDF로 — 또 같은 벽
교재와 학습지는 HTML로 예쁘게 만든 다음 A4 PDF로 뽑는 전략이었다. 그런데 HTML을 PDF로 바꾸는 데서 똑같은 ‘변환 도구 없음’ 벽에 다시 부딪혔다. 이번 우회로는 더 깔끔했다. 크롬·엣지 브라우저는 원래 ‘PDF로 인쇄’ 기능이 있다. 그 브라우저를 화면 없이(headless) 명령으로 돌리면, 사람이 인쇄 버튼 누르는 걸 자동으로 할 수 있다.
msedge --headless --print-to-pdf="교재.pdf" "교재.html"
검수도 자동화했다. 뽑은 PDF가 몇 쪽인지, 특정 개념이 빠지진 않았는지 — 이건 PDF를 읽는 작은 파이썬 도구(PyMuPDF)로 Claude가 직접 확인했다. 만들고, 변환하고, 검수까지 사람 손을 거의 안 거치는 흐름이 그렇게 완성됐다.
클라이맥스: 파일이 통째로 0바이트가 됐다
가장 식겁한 순간. 잘 만들어둔 자습 도구 파일이 어느 순간 0바이트가 되어 있었다. 내용이 다 날아간 거다. 범인을 같이 추적했더니 원인이 좀 어이없었다.
파일에 이모지를 잔뜩 넣었는데, 그걸 저장하는 과정에서 특정 이모지가 인코딩 오류를 일으켰고, 오류가 난 순간 파일이 거기서 잘려 빈 껍데기만 남은 거였다. 쓰다 만 게 아니라, 저장이 실패하면서 원본까지 날려버린 케이스. (2편에서 GitHub 백업을 그렇게 강조한 이유가 이거다.)
이모지처럼 특수한 문자는 저장 방식(인코딩)을 안 맞추면 파일 전체를 날릴 수 있다. 이후로는 저장 단계에서 인코딩을 명시하게 했고, 무엇보다 중간중간 GitHub에 올려두는 습관이 생겼다. 한 번 데여보고 배운다.
마지막 잔병치레: 한글 파일명이 깨진다
다 만들어 학생용·교사용으로 zip 묶음을 만들었더니, 압축 안에서 한글 파일명이 와장창 깨졌다. 받는 사람이 ‘ÆÁ¹®¼.hwp’ 같은 걸 보게 되는 거다. 이것도 흔한 함정이라, 압축할 때 파일명을 UTF-8로 처리하는 방식으로 바꿔 해결했다. 작은 문제 같지만, 받는 사람 입장에선 이거 하나로 ‘성의 없는 자료’가 된다.
정리하면
제작 자체보다 더 많이 배운 건 막혔을 때의 태도였다. 변환 도구가 없으면 파워포인트를 조종하고, 그것도 안 되면 브라우저를 끌어다 쓰고, 파일이 날아가면 백업 습관을 들이고. “안 된다”가 나올 때마다 “그럼 뭘로 우회하지?”로 받아치는 것 — 코드를 못 짜는 내가 결과물을 끝까지 뽑아낸 비결은 사실 그게 전부다.
대화 참여하기