본문 바로가기

일상

사내 DRM 때문에 폐쇄망 PC에서 PPT를 직접 자동 생성하기 (PowerShell + Office COM)

반응형

사무실 PC에서 만든 PPT가 사내 DRM 때문에 폐쇄망 PC에서 열리지 않아, 폐쇄망 PC에서 직접 PPT를 코드로 만들어야 할 때 PowerShell과 Office COM으로 생성하는 방법입니다.


1. 문제: DRM 때문에 반입한 문서가 폐쇄망 PC에서 안 열린다
사무실 로컬 PC에서 PPT를 만들어 폐쇄망 PC로 가져오면, 사내 DRM 때문에 폐쇄망 PC에서는 파일이 열리지 않는 경우가 있습니다. 문서를 만든 곳과 여는 곳이 다르면 DRM이 막는 것입니다. 그래서 애초에 폐쇄망 PC에서 문서를 직접 만들어야 하는데, 이 PC에는 보통 인터넷도 파이썬도 없어서 python-pptx 같은 도구를 못 씁니다. 다행히 PowerShell과 Microsoft Office는 깔려 있어서, Office COM으로 PPT를 직접 생성할 수 있습니다. 그 PC의 정상 세션에서 저장되니 DRM도 그대로 적용되고 열람도 됩니다.


- 다른 PC에서 만든 문서는 사내 DRM 때문에 폐쇄망 PC에서 안 열림
- 그래서 폐쇄망 PC에서 직접 생성해야 함
- 폐쇄망엔 인터넷·파이썬 없음 -> PowerShell + Office COM으로 해결


2. PowerPoint COM으로 슬라이드를 직접 만든다
PowerShell에서 PowerPoint를 COM 객체로 띄우면, 슬라이드를 추가하고 텍스트 상자나 도형을 코드로 배치할 수 있습니다. 좌표와 크기를 숫자로 지정하니 레이아웃이 정확하게 재현되고, 결과물은 이미지가 아니라 실제 편집 가능한 .pptx라 나중에 손도 볼 수 있습니다.



- New-Object -ComObject PowerPoint.Application 로 시작
- 슬라이드 추가 후 텍스트 상자·도형을 좌표로 배치
- 결과물은 편집 가능한 실제 .pptx


3. 핵심 함정: 아이콘은 폰트 대신 벡터 도형으로 그린다
구성도에는 서버, DB, 방화벽 같은 아이콘이 필요합니다. 그런데 이모지나 아이콘 폰트를 쓰면 윈도우 서버(예: Server 2019) 환경에서 해당 글리프가 없어 네모나 물음표로 깨지는 일이 잦습니다. 그래서 아이콘을 폰트에 의존하지 말고, 도형(AutoShape)을 조합해서 직접 그리는 게 안전합니다. 예를 들어 서버는 둥근 사각형에 가로줄 몇 개, DB는 원통 모양으로 그리면 어떤 서버에서 열어도 똑같이 보입니다.



- 이모지·아이콘 폰트는 서버에 글리프 없으면 깨짐
- 아이콘을 AutoShape 도형 조합으로 직접 그림
- 폰트에 의존하지 않으니 어느 서버에서 열어도 동일


4. 공통 모듈로 만들어 재사용한다
색, 카드, 헤더, 아이콘 같은 그리기 조각을 공통 함수로 빼두면, 프로젝트마다 바뀌는 건 콘텐츠(제목, 노드 목록, 흐름)뿐입니다. 새 서비스의 PPT가 필요하면 콘텐츠 배열만 갈아 끼우면 되니, 문서 하나 만드는 시간이 크게 줄어듭니다. 디자인 톤도 공통 모듈에서 한 번에 관리되니 산출물의 일관성도 유지됩니다.


- 색·카드·헤더·아이콘은 공통 함수로 분리
- 프로젝트별로 바뀌는 건 콘텐츠 배열뿐
- 디자인 일관성 + 제작 시간 단축


5. 정리
다른 PC에서 만든 문서가 DRM 때문에 안 열리는 환경에서는, 문서를 폐쇄망 PC에서 직접 만드는 게 답입니다. 파이썬이 없어도 PowerShell과 Office COM이면 편집 가능한 .pptx를 코드로 찍어낼 수 있고, 아이콘만 폰트 대신 벡터 도형으로 그리면 서버 환경에서도 깨지지 않습니다. 공통 모듈로 조각을 정리해 두면 프로젝트가 늘어도 콘텐츠만 바꿔 재사용할 수 있습니다.


- 폐쇄망 PPT 자동화 = PowerShell + Office COM
- 아이콘은 벡터 도형으로 그려 글리프 깨짐 원천 차단
- 공통 모듈 + 콘텐츠 배열 교체로 재사용


함께 보면 좋은 글:
- 파이썬으로 편집 가능한 PPT 자동 생성하기 (python-pptx) - 파이썬을 쓸 수 있는 환경일 때의 방법
- DB 카탈로그로 테이블 정의서 엑셀 수백 장 자동 생성하기 (템플릿 기반 Excel COM) - 같은 폐쇄망 문서 자동화 편(엑셀)


여기까지 폐쇄망에서 PowerShell과 Office COM으로 편집 가능한 PPT를 자동 생성하는 방법에 대해서 작성해봤습니다. 여기까지 읽어주셔서 감사합니다!

반응형