Android에서 프레젠테이션 헤더 및 바닥글 관리
개요
PowerPoint는 페이지 유형에 따라 서로 다른 머리글 및 바닥글 자리표시자를 사용합니다. Aspose.Slides for Android via Java를 사용하면 머리글/바닥글 관리 인터페이스를 통해 이러한 자리표시자의 텍스트와 표시 여부를 제어할 수 있습니다.
사용 가능한 자리표시자는 범위에 따라 다릅니다:
| 범위 | 머리글 | 바닥글 | 날짜/시간 | 슬라이드/페이지 번호 |
|---|---|---|---|---|
| 일반 슬라이드 | 아니오 | 예 | 예 | 예 |
| 메모 마스터 | 예 | 예 | 예 | 예 |
| 메모 슬라이드 | 예 | 예 | 예 | 예 |
| 자료집 마스터 | 예 | 예 | 예 | 예 |
일반 프레젠테이션 슬라이드에는 머리글 자리표시자가 없습니다. 머리글은 메모 페이지와 자료집 페이지에서 사용할 수 있습니다. 일반 슬라이드에서는 바닥글, 날짜/시간 및 슬라이드 번호 자리표시자를 대신 사용하십시오.
변경의 적용 범위는 사용하는 관리자에 따라 다릅니다. ISlideHeaderFooterManager 인터페이스는 하나의 일반 슬라이드를 제어합니다. INotesSlideHeaderFooterManager 인터페이스는 하나의 메모 슬라이드를 제어합니다. 마스터 및 레이아웃 관리자는 종속 슬라이드에 설정을 전파할 수 있으며, IMasterHandoutSlideHeaderFooterManager 인터페이스는 자료집 마스터를 제어합니다.
일반 슬라이드에 바닥글, 날짜/시간 및 슬라이드 번호 설정
일반 슬라이드에서는 각 슬라이드의 머리글/바닥글 관리자에 접근해 바닥글 및 날짜/시간 텍스트를 설정하고, 필요한 자리표시자를 활성화한 뒤 프레젠테이션을 저장하는 것이 기본 흐름입니다. 슬라이드 번호는 프레젠테이션에서 자동으로 생성되므로 표시 여부만 제어하면 됩니다.
텍스트를 설정하려면 setFooterText 및 setDateTimeText를 사용하고, 해당 자리표시자를 표시하려면 setFooterVisibility, setDateTimeVisibility, setSlideNumberVisibility를 사용합니다.
다음 예제는 모든 일반 슬라이드에 동일한 바닥글, 날짜/시간 텍스트 및 슬라이드 번호 표시 설정을 적용합니다:
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
for (ISlide slide : presentation.getSlides()) {
ISlideHeaderFooterManager headerFooterManager = slide.getHeaderFooterManager();
headerFooterManager.setFooterText("Company Confidential");
headerFooterManager.setFooterVisibility(true);
headerFooterManager.setDateTimeText("Date and time text");
headerFooterManager.setDateTimeVisibility(true);
headerFooterManager.setSlideNumberVisibility(true);
}
presentation.save("presentation_with_slide_footers.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
특정 슬라이드 하나만 업데이트하려면 전체 컬렉션을 순회하지 말고 getSlides 메서드를 통해 해당 슬라이드에 직접 접근하십시오.
Notes Master에 머리글 및 바닥글 설정
Notes Master는 메모 페이지의 공통 서식 및 자리표시자 동작을 정의합니다. 메모 마스터 자체만 변경하려면 IMasterNotesSlideHeaderFooterManager 인터페이스를 사용합니다.
다음 예제는 Notes Master에 머리글, 바닥글 및 날짜/시간 텍스트를 설정하고 해당 마스터에서 지원되는 모든 자리표시자를 표시합니다:
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
IMasterNotesSlide masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();
if (masterNotesSlide != null) {
IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.getHeaderFooterManager();
headerFooterManager.setHeaderText("Notes header");
headerFooterManager.setHeaderVisibility(true);
headerFooterManager.setFooterText("Notes footer");
headerFooterManager.setFooterVisibility(true);
headerFooterManager.setDateTimeText("Date and time text");
headerFooterManager.setDateTimeVisibility(true);
headerFooterManager.setSlideNumberVisibility(true);
}
presentation.save("presentation_with_notes_master_footers.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
프레젠테이션에 Notes Master가 포함되지 않은 경우 getMasterNotesSlide 메서드는 null을 반환합니다.
Notes Master 설정을 하위 메모 슬라이드에 적용
Notes Master는 자체와 모든 종속 메모 슬라이드에 머리글 및 바닥글 설정을 적용할 수 있습니다. 동일한 설정을 메모 계층 전체에 적용하려면 IMasterNotesSlideHeaderFooterManager의 전파 전용 메서드를 사용하십시오.
예를 들어, setHeaderAndChildHeadersText 및 setHeaderAndChildHeadersVisibility는 Notes Master 머리글과 모든 하위 머리글을 업데이트합니다. 바닥글, 날짜/시간 및 슬라이드 번호에 대한 동등한 메서드도 제공됩니다.
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
IMasterNotesSlide masterNotesSlide = presentation.getMasterNotesSlideManager().getMasterNotesSlide();
if (masterNotesSlide != null) {
IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.getHeaderFooterManager();
headerFooterManager.setHeaderAndChildHeadersText("Notes header");
headerFooterManager.setHeaderAndChildHeadersVisibility(true);
headerFooterManager.setFooterAndChildFootersText("Notes footer");
headerFooterManager.setFooterAndChildFootersVisibility(true);
headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text");
headerFooterManager.setDateTimeAndChildDateTimesVisibility(true);
headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true);
}
presentation.save("presentation_with_child_notes_footers.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
위에서 사용한 전파 메서드에는 setFooterAndChildFootersText, setFooterAndChildFootersVisibility, setDateTimeAndChildDateTimesText, setDateTimeAndChildDateTimesVisibility, setSlideNumberAndChildSlideNumbersVisibility가 있습니다.
개별 메모 슬라이드에 머리글 및 바닥글 설정
메모 슬라이드는 특정 일반 슬라이드에 종속됩니다. 해당 메모 페이지만 별도로 사용자 정의하려면 INotesSlideHeaderFooterManager 인터페이스를 사용하십시오.
addNotesSlide 메서드는 현재 슬라이드에 대한 메모 슬라이드를 반환하며, 존재하지 않으면 새로 생성합니다. 다음 예제는 첫 번째 프레젠테이션 슬라이드와 연결된 메모 페이지를 구성합니다:
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
INotesSlide notesSlide = slide.getNotesSlideManager().addNotesSlide();
INotesSlideHeaderFooterManager headerFooterManager = notesSlide.getHeaderFooterManager();
headerFooterManager.setHeaderText("Header for the first notes page");
headerFooterManager.setHeaderVisibility(true);
headerFooterManager.setFooterText("Footer for the first notes page");
headerFooterManager.setFooterVisibility(true);
headerFooterManager.setDateTimeText("Date and time text");
headerFooterManager.setDateTimeVisibility(true);
headerFooterManager.setSlideNumberVisibility(true);
presentation.save("presentation_with_custom_notes_footers.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
먼저 Notes Master에서 설정을 전파한 뒤 개별 메모 슬라이드를 변경하면, 이후 슬라이드별 설정을 통해 해당 메모 페이지를 독립적으로 사용자 정의할 수 있습니다.
Handout Master에 머리글 및 바닥글 설정
Handout 페이지는 헤더, 바닥글, 날짜/시간 및 페이지 번호 자리표시자를 위해 Handout Master를 사용합니다. 메모 페이지와 달리 Handout 설정은 개별 Handout 슬라이드가 아니라 Handout Master를 통해 관리됩니다.
Handout Master에 접근하려면 getMasterHandoutSlide 메서드를 사용하십시오. 존재하지 않을 경우 setDefaultMasterHandoutSlide를 호출해 기본 Handout Master를 생성합니다.
import com.aspose.slides.*;
Presentation presentation = new Presentation("presentation.pptx");
try {
IMasterHandoutSlide masterHandoutSlide = presentation.getMasterHandoutSlideManager().getMasterHandoutSlide();
if (masterHandoutSlide == null) {
masterHandoutSlide = presentation.getMasterHandoutSlideManager().setDefaultMasterHandoutSlide();
}
if (masterHandoutSlide != null) {
IMasterHandoutSlideHeaderFooterManager headerFooterManager = masterHandoutSlide.getHeaderFooterManager();
headerFooterManager.setHeaderText("Handout header");
headerFooterManager.setHeaderVisibility(true);
headerFooterManager.setFooterText("Handout footer");
headerFooterManager.setFooterVisibility(true);
headerFooterManager.setDateTimeText("Date and time text");
headerFooterManager.setDateTimeVisibility(true);
headerFooterManager.setSlideNumberVisibility(true);
}
presentation.save("presentation_with_handout_footers.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
범위와 상속 이해
변경하려는 범위에 맞는 머리글/바닥글 관리자를 선택하십시오:
ISlideHeaderFooterManager은 하나의 일반 슬라이드에 대한 바닥글, 날짜/시간 및 슬라이드 번호 설정을 변경합니다.ILayoutSlideHeaderFooterManager은 레이아웃 슬라이드를 제어하며 지원되는 설정을 종속 슬라이드에 전파할 수 있습니다.IMasterSlideHeaderFooterManager은 일반 슬라이드 마스터를 제어하고 지원되는 설정을 종속 슬라이드에 전파합니다.IMasterNotesSlideHeaderFooterManager은 Notes Master를 제어하고 모든 종속 메모 슬라이드에 설정을 전파합니다.INotesSlideHeaderFooterManager은 하나의 메모 슬라이드를 변경하며 머리글 자리표시자를 바닥글, 날짜/시간 및 슬라이드 번호와 함께 지원합니다.IMasterHandoutSlideHeaderFooterManager은 Handout Master를 변경하며 네 가지 자리표시자 유형 모두를 지원합니다.
동일한 설정을 계층 전체에 적용해야 할 경우 마스터 또는 레이아웃에서 전파를 사용하십시오. 특정 페이지에만 로컬 설정이 필요하면 개별 슬라이드 또는 메모 슬라이드 관리자를 사용하십시오.
FAQ
일반 슬라이드에 머리글을 추가할 수 있나요?
아니오. PowerPoint는 일반 슬라이드에 머리글 자리표시자를 정의하지 않습니다. 일반 슬라이드에서는 바닥글, 날짜/시간 및 슬라이드 번호 자리표시자를 사용하십시오. 머리글 자리표시자는 메모 페이지와 자료집에서 사용할 수 있습니다.
바닥글, 날짜/시간 또는 슬라이드 번호 자리표시자가 보이지 않으면 어떻게 해야 하나요?
해당 머리글/바닥글 관리자를 사용해 표시 여부를 확인하고 필요할 때 활성화하십시오. 예를 들어, isFooterVisible는 바닥글 자리표시자가 존재하는지 여부를 반환하고, setFooterVisibility는 표시 상태를 변경합니다.
슬라이드 번호를 1이 아닌 다른 값부터 시작하려면 어떻게 해야 하나요?
프레젠테이션의 setFirstSlideNumber 메서드를 호출하십시오. 그러면 슬라이드 번호 자리표시자가 업데이트된 번호 순서를 사용합니다.
PDF, 이미지 또는 HTML로 내보낼 때 머리글과 바닥글은 어떻게 처리되나요?
보이는 머리글 및 바닥글 요소는 출력 형식에서 프레젠테이션 내용과 함께 렌더링됩니다. 표시 여부 설정에 따라 내보내는 페이지 유형에 맞게 표시됩니다.