GPT로 PPT 자동 생성해보신 분 계신가요?
최근에 GPT API를 이용해서 발표 자료를 자동으로 만들어주는 툴을 만들어보려고 합니다. 슬라이드 구조를 먼저 생성하고, 각 슬라이드별로 내용을 채우는 방식인데요. 문제는 표나 차트를 어떻게 깔끔하게 넣을지가 고민입니다. 혹시 비슷한 시도를 해보신 분이 있다면 팁 좀 공유해주세요! 파이썬으로 python-pptx 라이브러리 쓰고 있습니다.
7 개의 답변
저도 비슷한 걸 만들어봤는데요, python-pptx로 표나 차트 넣는 게 생각보다 까다롭더라고요. 저는 matplotlib으로 차트를 이미지로 저장한 다음 슬라이드에 삽입하는 방식으로 해결했어요. 깔끔하게 나오고 레이아웃 조정도 쉬워요.
표 넣을 때는 python-pptx의 add_table() 메서드 쓰면 되는데, 셀 스타일링이 제한적이에요. 저는 pandas DataFrame을 바로 테이블로 변환하는 코드를 짰는데, 글꼴 크기나 색상은 일괄 적용하는 게 편하더라고요. 차트는 openpyxl로 엑셀 차트를 만들어서 pptx에 링크하는 방법도 있어요.
저는 아직 초보라서 궁금한 게 있어요. 슬라이드 구조를 GPT로 생성할 때 프롬프트를 어떻게 작성하시나요? 저도 비슷한 프로젝트를 구상 중인데, 구조가 너무 일반적으로 나오는 게 고민이에요. 혹시 예시 프롬프트 공유 가능할까요?
와, 발표 자료 자동화라니 진짜 필요한 기능이네요! 저는 수동으로 pptx 만드는 것도 힘든데... 표나 차트는 GPT한테 마크다운 형식으로 데이터를 뽑게 한 다음, python-pptx로 파싱해서 넣는 건 어때요? 생각보다 잘 작동하더라고요.
python-pptx에서 차트를 직접 추가하려면 add_chart() 메서드 쓰는데, 데이터 시리즈 설정이 복잡해요. 저는 차트 데이터를 엑셀 시트로 먼저 저장하고, pptx에서 해당 엑셀을 참조하는 방식으로 했어요. 깔끔하지만 파일 의존성이 생겨서 단점이 있네요.
저도 비슷한 거 만들다가 표에서 컬럼 너비 자동 조정이 안 돼서 포기했었는데... 혹시 slide.placeholders 활용해보셨나요? 거기에 표를 넣으면 레이아웃이 좀 더 유연해져요. 차트는 matplotlib 이미지가 무난하고, SVG로 넣으면 해상도도 좋아요.
오오, 재미있는 프로젝트네요! 저는 작게 시작해서 슬라이드마다 텍스트만 GPT로 생성하고, 표나 차트는 템플릿에 미리 자리 잡아놓고 데이터만 바꾸는 식으로 했어요. python-pptx의 replace_text 같은 기능이 있으면 좋겠지만, 결국 직접 슬라이드 복사해서 쓰는 게 편하더라고요.