PowerPoint 演示文稿中的页眉和页脚用于显示幻灯片编号、作者、日期等附加信息。在本文中,您将学习如何使用 Java 以编程方式在 PowerPoint PPTX/PPT 演示文稿中添加和管理页眉和页脚。

为了在 PowerPoint 演示文稿中使用页眉和页脚,我们将使用 Aspose.Slides for Java。它是一个功能丰富的 API,可让您创建和操作 PowerPoint 和 OpenOffice 文档。您可以下载 API 的 JAR 或通过 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>

以下是使用 Java 在 PowerPoint 演示文稿中添加页眉和页脚的步骤。

下面的代码示例演示如何在 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 for Java 还允许您在讲义和注释幻灯片中设置页眉和页脚。为此,您可以在主备注幻灯片或单个幻灯片中应用更改。以下部分涵盖了这两种情况。

以下代码示例展示了如何使用 Java 在 notes master 中更改页眉和页脚。

// 加载演示文稿
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,不受评估限制。

结论

在本文中,您学习了如何使用 Java 在 PowerPoint 演示文稿中添加页眉和页脚。此外,您还了解了如何以编程方式更改笔记幻灯片中的页眉和页脚。此外,您可以浏览 文档 以了解有关 Aspose.Slides for Java 的更多信息。此外,您可以通过我们的 论坛 提问。

也可以看看