Верхний и нижний колонтитулы в презентациях PowerPoint используются для отображения дополнительной информации, такой как номер слайда, автор, дата и т. д. В этой статье вы узнаете, как программно добавлять и управлять верхним и нижним колонтитулом в презентациях PowerPoint PPTX/PPT с помощью Java.

Для работы с верхним и нижним колонтитулами в презентациях PowerPoint мы будем использовать Aspose.Slides for Java. Это многофункциональный API, который позволяет создавать документы PowerPoint и OpenOffice и управлять ими. Вы можете либо скачать JAR API, либо установить его через Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.9</version>
    <classifier>jdk16</classifier>
</dependency>

Ниже приведены шаги по добавлению верхнего и нижнего колонтитула в презентацию PowerPoint с использованием Java.

В следующем примере кода показано, как добавить верхний и нижний колонтитулы в презентацию PowerPoint.

// Загрузить презентацию
Presentation pres = new Presentation("headerTest.pptx");
try {
    // Установить нижний колонтитул
    pres.getHeaderFooterManager().setAllFootersText("My Footer text");
    pres.getHeaderFooterManager().setAllFootersVisibility(true);

    // Доступ и обновление заголовка
    IMasterNotesSlide masterNotesSlide = pres.getMasterNotesSlideManager().getMasterNotesSlide();
    if (null != masterNotesSlide)
    {
    	for(IShape shape : masterNotesSlide.getShapes())
        {
            if (shape.getPlaceholder() != null)
            {
                if (shape.getPlaceholder().getType() == PlaceholderType.Header)
                {
                    ((IAutoShape)shape).getTextFrame().setText("HI there new header");
                }
            }
        }
    }
    // Сохранить презентацию
    pres.save("HeaderFooterJava.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Aspose.Slides для Java также позволяет вам устанавливать верхний и нижний колонтитулы в слайдах раздаточных материалов и заметок. Для этого вы можете либо применить изменения к слайду основных заметок, либо к отдельному слайду. В следующих разделах рассматриваются оба сценария.

В следующем примере кода показано, как изменить верхний и нижний колонтитулы в мастере заметок с помощью Java.

// Загрузить презентацию
Presentation pres = new Presentation("presentation.pptx");
try {
    // Изменение настроек верхнего и нижнего колонтитула для мастер-заметок и всех слайдов заметок
    IMasterNotesSlide masterNotesSlide = pres.getMasterNotesSlideManager().getMasterNotesSlide();
    if (masterNotesSlide != null)
    {
        IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.getHeaderFooterManager();

        headerFooterManager.setHeaderAndChildHeadersVisibility(true); // make the master notes slide and all child Footer placeholders visible
        headerFooterManager.setFooterAndChildFootersVisibility(true); // make the master notes slide and all child Header placeholders visible
        headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true); // make the master notes slide and all child SlideNumber placeholders visible
        headerFooterManager.setDateTimeAndChildDateTimesVisibility(true); // make the master notes slide and all child Date and time placeholders visible

        headerFooterManager.setHeaderAndChildHeadersText("Header text"); // set text to master notes slide and all child Header placeholders
        headerFooterManager.setFooterAndChildFootersText("Footer text"); // set text to master notes slide and all child Footer placeholders
        headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text"); // set text to master notes slide and all child Date and time placeholders
    }
  
    // Сохранить презентацию
    pres.save("testresult.pptx",SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

В следующем примере кода показано, как изменить верхний и нижний колонтитулы в слайдах заметок с помощью Java.

// Загрузить презентацию
Presentation pres = new Presentation("presentation.pptx");
try {
    // Изменение настроек верхнего и нижнего колонтитула только для слайда с первыми заметками
    INotesSlide notesSlide = pres.getSlides().get_Item(0).getNotesSlideManager().getNotesSlide();
    if (notesSlide != null)
    {
        INotesSlideHeaderFooterManager headerFooterManager = notesSlide.getHeaderFooterManager();
        if (!headerFooterManager.isHeaderVisible())
            headerFooterManager.setHeaderVisibility(true); // make this notes slide Header placeholder visible

        if (!headerFooterManager.isFooterVisible())
            headerFooterManager.setFooterVisibility(true); // make this notes slide Footer placeholder visible

        if (!headerFooterManager.isSlideNumberVisible())
            headerFooterManager.setSlideNumberVisibility(true); // make this notes slide SlideNumber placeholder visible

        if (!headerFooterManager.isDateTimeVisible())
            headerFooterManager.setDateTimeVisibility(true); // make this notes slide Date-time placeholder visible

        headerFooterManager.setHeaderText("New header text"); // set text to notes slide Header placeholder
        headerFooterManager.setFooterText("New footer text"); // set text to notes slide Footer placeholder
        headerFooterManager.setDateTimeText("New date and time text"); // set text to notes slide Date-time placeholder
    }
  
    // Сохранить презентацию
    pres.save("testresult.pptx",SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Получите бесплатную лицензию API

Получите бесплатную временную лицензию для использования Aspose.Slides for Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как добавить верхний и нижний колонтитулы в презентации PowerPoint с помощью Java. Кроме того, вы видели, как программно изменить верхний и нижний колонтитулы в слайдах заметок. Кроме того, вы можете изучить документацию, чтобы узнать больше об Aspose.Slides for Java. Также вы можете задать свои вопросы через наш форум.

Смотрите также