pptfont.exe - PPT 파일에 숨겨진 폰트 설정을 일괄 삭제
지인으로부터, PPT 관련 작업 중 불편한 점이 있다는 고충을 들었습니다. 가령 다음과 같은 식으로 폰트가 포함되어 있긴 한데,
이런 식으로 사용 중인 폰트를 삭제하려고 일일이 모든 PPT 슬라이드에 들어가 텍스트 박스 영역을 선택해 들어가는 것이,
너무 불편하다는 점입니다.
이것을 해결하려면, PPT DOM 개체를 다룰 수 있는 라이브러리가 필요합니다. 검색해 보면,
Create, read and edit PowerPoint slides in C#
; https://www.syncfusion.com/kb/10942/create-read-and-edit-powerpoint-slides-in-c
install-package Syncfusion.Presentation.WinForms
아쉽게도 숨겨진 폰트를 나열해주는 정도의 레벨까지는 기능 제공을 하지 않고 있습니다. 그렇다면 다른 라이브러리를 검색해 볼 수 있는데, 아무래도 저런 기능까지 제공하는 것은 찾기 힘들 것 같습니다.
자... 그럼 어쩔 수 없군요, 어차피 pptx 파일은 zip 파일로써 내부는 xml 형식으로 표현하고 있기 때문에 차라리 순수 XML을 다루는 방식으로 접근하는 것이 더 나을 듯합니다. 즉, 다음과 같은 절차로 처리해 보는 것입니다.
- pptx 파일의 압축을 풀고,
- 풀린 xml 파일들에서 특정 폰트 이름을 가진 노드를 찾아 삭제하고,
- 다시 pptx 파일로 압축
간단하죠? ^^ 그래서 pptfont.exe를 만들어봤고,
stjeong/Utilities
; https://github.com/stjeong/Utilities/tree/master/pptfont
다운로드 (.NET Framework 4.5 이상 필요)
; https://github.com/stjeong/Utilities/blob/master/Binaries/pptfont.zip
다음과 같은 식으로 사용할 수 있습니다.
C:\temp> pptfont.exe list test.pptx
맑은 고딕
Arial
Aharoni
애터미 Bold
C:\temp> pptfont.exe remove test.pptx Aharoni
Reanmed old file "test.pptx" to C:\temp\test.bak
test.pptx: Removed "Aharoni"
C:\temp> pptfont.exe list test.pptx
맑은 고딕
Arial
애터미 Bold
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]