본문 바로가기

일상

아키텍처 다이어그램(SVG)을 파워포인트에 "편집 가능한 도형"으로 넣기 (그림 말고 네이티브 도형으로 재생성)

반응형

SVG로 그린 아키텍처 다이어그램을 발표자료(PPT)에 넣을 때, 그림으로 붙이면 편집이 막혀 곤란할 때 도형으로 다시 그려 넣는 방법입니다.


1. SVG를 "그림"으로 붙이면 편집이 막힙니다
아키텍처 다이어그램을 SVG로 그려두면 깔끔합니다. 문제는 이걸 파워포인트에 넣을 때입니다. 대부분 SVG를 이미지로 삽입하는데, 그러면 다이어그램 전체가 하나의 그림 덩어리가 됩니다. 박스 하나의 글자를 고치거나, 색을 발표자료 테마에 맞추거나, 화살표 하나를 옮기려 해도 낱개로 손댈 수가 없습니다.


파워포인트에 SVG를 넣으면 벡터라 확대해도 안 깨지긴 합니다. 하지만 여전히 통짜 개체라 내부를 편집하는 건 막혀 있습니다.


- SVG를 이미지로 넣으면 다이어그램이 통짜 그림 덩어리
- 박스 글자·색·위치를 낱개로 못 고침
- 벡터라 확대는 되지만 내부 편집은 막힘


2. 발상 전환 - 도형 정보를 읽어 다시 그립니다
해결의 핵심은 관점을 바꾸는 것입니다. SVG를 그림 파일로 보지 말고, 도형의 설계도로 보는 겁니다. SVG는 사실 rect(사각형), line(선), text(글자) 같은 태그로 이뤄진 텍스트 문서입니다.


이 태그들을 하나씩 읽어서, 파워포인트에 같은 위치·크기·색의 네이티브 도형으로 다시 그려 넣으면 됩니다. 그러면 붙은 것은 그림이 아니라 파워포인트가 원래 아는 도형이라 낱개로 편집됩니다. 여기서는 폐쇄망에서도 되는 PowerPoint COM(파이썬 없이 파워셸)으로 했습니다.


- SVG = rect/line/text 태그로 된 텍스트 문서(도형 설계도)
- 각 태그를 읽어 같은 위치·색의 네이티브 도형으로 재생성
- 붙는 건 그림이 아니라 편집 가능한 도형


3. 사각형(rect)을 도형으로 - 색과 선까지
먼저 박스입니다. SVG rect의 x·y·너비·높이를 읽어 파워포인트 도형을 만듭니다. 둥근 모서리(rx)가 있으면 둥근 사각형, 없으면 각진 사각형으로 분기합니다. 색은 한 가지 주의점이 있는데, 파워포인트의 색상값은 R + G*256 + B*65536 형식(OLE 색상)이라, SVG의 #3366cc 같은 값을 이 정수로 변환해서 넣어야 합니다.



핵심은 AddShape입니다. 이게 그림을 붙이는 게 아니라 파워포인트 네이티브 도형을 생성하는 명령이라, 이걸로 만든 박스는 나중에 낱개로 편집됩니다.


- rect의 좌표·크기를 읽어 AddShape로 도형 생성
- rx 있으면 둥근 사각형, 없으면 각진 사각형
- 색은 R + G_256 + B_65536 정수로 변환해 지정


4. 선(line)과 글자(text)도 각각 도형으로
박스만으로는 다이어그램이 안 됩니다. 연결선과 글자도 옮깁니다. SVG line은 AddLine으로 직선 커넥터를 만들고, text는 AddTextbox로 텍스트 상자를 만듭니다. SVG에서 글자를 가운데 두는 text-anchor="middle"은, 텍스트 상자의 가운데 정렬로 바꿔 주면 위치가 맞습니다.



이렇게 rect·line·text를 각각의 도형으로 옮기면, 완성된 다이어그램은 전부 낱개 도형이라 발표 직전에 색·문구·위치를 자유롭게 손볼 수 있습니다.


- line -> AddLine(직선 커넥터), text -> AddTextbox(텍스트 상자)
- text-anchor=middle -> 텍스트 상자 가운데 정렬로 대응
- 완성본은 전부 낱개 도형이라 자유 편집


5. 좌표 맞추기와 "진짜 도형인지" 검증
두 좌표계가 다르다는 점만 맞추면 됩니다. SVG는 픽셀, 파워포인트 도형은 포인트(pt) 단위라, 스케일과 오프셋으로 위치를 옮겨 줍니다.


끝나면 정말 편집 가능한 도형으로 들어갔는지 확인하는 게 좋습니다. 만든 파일을 다시 열어 각 개체의 종류를 찍어 보면, 그림(Picture)이 아니라 도형(AutoShape)·텍스트 상자(TextBox)·커넥터(Connector)로 찍힙니다. 글자도 그대로 들어 있어, 폐쇄망에서 글꼴이 없어도 글자가 깨지지 않습니다.


- SVG는 픽셀, 파워포인트 도형은 포인트(pt) -> 스케일·오프셋으로 변환
- 다시 열어 개체 종류 확인(그림 아니라 도형/텍스트상자/커넥터)
- 글자가 도형 안에 있어 글꼴 없어도 안 깨짐


6. 정리
아키텍처 다이어그램(SVG)을 파워포인트에 넣을 때 그림으로 붙이면 통짜라 편집이 막힙니다. SVG를 도형의 설계도로 보고, rect·line·text를 각각 파워포인트 네이티브 도형으로 다시 그려 넣으면 낱개로 편집되는 다이어그램이 됩니다.


색은 정수 변환, 좌표는 픽셀에서 포인트로만 맞추면 되고, 다 넣은 뒤 개체 종류로 검증하면 확실합니다.


- SVG를 그림 아니라 "도형 설계도"로 보기
- rect -> 도형, line -> 커넥터, text -> 텍스트 상자로 재생성
- 색 = 정수 변환, 좌표 = 픽셀에서 포인트로
- 그림이 아니라 낱개 편집 가능한 도형(글꼴 없어도 안 깨짐)


함께 보면 좋은 글:
- 사내 DRM 때문에 폐쇄망 PC에서 PPT를 직접 자동 생성하기 (PowerShell + Office COM) - 같은 폐쇄망 문서 자동화 편(PPT)
- DB 카탈로그로 테이블 정의서 엑셀 수백 장 자동 생성하기 (템플릿 기반 Excel COM) - 같은 문서 자동화 편(엑셀)


여기까지 SVG 다이어그램을 파워포인트에 편집 가능한 도형으로 넣는 방법에 대해서 작성해봤습니다. 여기까지 읽어주셔서 감사합니다!

반응형