Tip

구글 슬라이드에서 모든 폰트를 일괄 변경하려면, 따라해보세요

정보덕 2025. 9. 10. 14:23
반응형

혹시 이런 경험 있지 않으신가요?..

 

 

구글에서 제공하는 Apps Script 를 사용하면 이렇게 하나하나 폰트를 변경할 필요 없이 일괄적으로 폰트를 변경할 수 있습니다. 아래 처럼 [확장 프로그램] → [Apps Script] 클릭 해서 접속해주세요.

 

 

들어가시면 아래 스크립트를 입력할 수 있는 화면이 뜨면 됩니다.

 

모든 폰트를 변경하는 자바스크립트 코드

이제 모든 폰트를 변경하는 자바스크립트 코드를 입력해줍시다.

 
function changeFontInAllSlides() {
  const NEW_FONT = "Roboto"; // 변경할 글꼴
  const slides = SlidesApp.getActivePresentation().getSlides();

  slides.forEach(slide => {
    slide.getPageElements()
      .filter(el => el.getPageElementType() === SlidesApp.PageElementType.SHAPE) // 텍스트 상자(Shape)만 필터링
      .forEach(shapeEl => {
        const text = shapeEl.asShape().getText();
        if (text && text.asString().trim()) { // 비어 있지 않은 텍스트만 적용
          text.getTextStyle().setFontFamily(NEW_FONT);
          console.log("변경 완료:", text.asString());
        }
      });
  });

  Logger.log("폰트 변경 완료!");
}

 

 

입력 후 [Alt + S] 를 눌러 입력한 코드를 저장한 후  [실행] 버튼을 눌러줍니다.

 

 

그러면 모든 폰트가 본인이 설정한 글꼴로 변경된 것을 볼 수 있습니다.

 

자바스크립트 코드를 처음 보시는 분들을 위해서 간략하게 코드를 설명해보았습니다.

 

라인별 설명

함수 선언. Slides 문서에서 모든 슬라이드의 텍스트 폰트를 변경하는 기능.

function changeFontInAllSlides() {

 

변경할 글꼴 이름을 상수로 지정. 유지·보수 시 쉽게 바꿀 수 있음.
const NEW_FONT = "Roboto"; // 변경할 글꼴

 

현재 열려 있는 프레젠테이션의 모든 슬라이드를 배열로 가져옴.
const slides = SlidesApp.getActivePresentation().getSlides();

 

각 슬라이드에 대해 반복 실행.
slides.forEach(slide => {
 
 

슬라이드 안의 모든 페이지 요소(도형, 이미지, 표 등)를 가져옴.

slide.getPageElements()

 

 그중 SHAPE(도형) 요소만 필터링. (텍스트 상자는 SHAPE 타입이므로 불필요한 try/catch 제거 가능)
.filter(el => el.getPageElementType() === SlidesApp.PageElementType.SHAPE)
 
필터링된 도형 요소마다 반복 실행.
.forEach(shapeEl => {
 

 

도형을 텍스트 상자로 변환하고, 텍스트 객체 가져오기.
const text = shapeEl.asShape().getText();

 

텍스트가 존재하고 비어 있지 않은 경우에만 실행. (공백만 있는 상자 제외)
if (text && text.asString().trim()) {

 

해당 텍스트의 폰트를 지정한 글꼴로 변경.
text.getTextStyle().setFontFamily(NEW_FONT);

 

변경된 텍스트 내용을 콘솔에 출력해 확인 가능.
console.log("변경 완료:", text.asString());
 
 
 

모든 슬라이드 처리 후 로그 출력. 실행 로그에서 확인 가능

Logger.log("폰트 변경 완료!"); }

 

반응형