`

Java 创建并应用PPT幻灯片母版

阅读更多

幻灯片母版,可在幻灯片中预先存储设计模板信息,包括字形、占位符大小或位置、背景设计和配色方案等;对设定好的母版可应用于所有幻灯片,也可设计多个不同母版应用于不同幻灯片。下面通过Java代码示例介绍如何创建单一母版以及不同母版。

 

使用工具:Free Spire.Office for Java(免费版)

Jar获取及导入:官网下载jar包,并解压将lib文件夹下的jar文件导入Java程序,或者通过maven仓库下载导入

 

 

Java 代码示例

 

 

1. 创建单一母版,应用到所有幻灯片

import com.spire.presentation.*;
import com.spire.presentation.drawing.BackgroundType;
import com.spire.presentation.drawing.FillFormatType;
import com.spire.presentation.drawing.IImageData;
import com.spire.presentation.drawing.PictureFillType;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;


public class CreateMasterSlide {
    public static void main(String[] args) throws Exception {
        //创建PPT文档,并设置幻灯片大小
        Presentation ppt = new Presentation();
        ppt.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);


        //获取第一张母版
        IMasterSlide masterSlide = ppt.getMasters().get(0);

        //设置母版背景
        BufferedImage image = ImageIO.read(new FileInputStream("tp.png"));
        IImageData imageData = ppt.getImages().append(image);
        masterSlide.getSlideBackground().setType(BackgroundType.CUSTOM);
        masterSlide.getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);
        masterSlide.getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
        masterSlide.getSlideBackground().getFill().getPictureFill().getPicture().setEmbedImage(imageData);

        //添加图片到母版
        image = ImageIO.read(new FileInputStream("logo.png"));
        imageData = ppt.getImages().append(image);
        IEmbedImage imageShape = masterSlide.getShapes().appendEmbedImage(ShapeType.RECTANGLE,imageData,new Rectangle2D.Float((float) ppt.getSlideSize().getSize().getWidth()-240,40,60,60));
        imageShape.getLine().setFillType(FillFormatType.NONE);

        //添加文字到母版
        IAutoShape textShape = masterSlide.getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle2D.Float((float) ppt.getSlideSize().getSize().getWidth()-230,85,200,30));
        textShape.getTextFrame().setText("文娱传媒");
        textShape.getTextFrame().getTextRange().setFontHeight(20f);
        textShape.getTextFrame().getTextRange().getFill().setFillType(FillFormatType.SOLID);
        textShape.getTextFrame().getTextRange().getFill().getSolidColor().setColor(Color.black);
        textShape.getTextFrame().getTextRange().getParagraph().setAlignment(TextAlignmentType.CENTER);
        textShape.getFill().setFillType(FillFormatType.NONE);
        textShape.getLine().setFillType(FillFormatType.NONE);

        //添加一张幻灯片(创建PPT文档时,已默认生成一张幻灯片,这里添加一张幻灯片可对比查看母版添加效果)
        ppt.getSlides().append();

        //保存文档
        ppt.saveToFile("CreateSlideMaster.pptx", FileFormat.PPTX_2013);
        ppt.dispose();
    }
} 

 

2. 创建多个母版,应用于不同幻灯片

import com.spire.presentation.*;
import com.spire.presentation.drawing.BackgroundType;
import com.spire.presentation.drawing.FillFormatType;
import com.spire.presentation.drawing.IImageData;
import com.spire.presentation.drawing.PictureFillType;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;

public class CreateMasterSlide2 {
    public static void main(String[] args) throws Exception{
        //创建PPT文档,并设置幻灯片大小
        Presentation ppt = new Presentation();
        ppt.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);

        //插入4页幻灯片(连同默认的幻灯片,文档中共5页)
        for (int i = 0; i < 4; i++)
        {
            ppt.getSlides().append();
        }

        //获取默认的母版
        IMasterSlide first_master = ppt.getMasters().get(0);

        //创建并获取第二个母板
        ppt.getMasters().appendSlide(first_master);
        IMasterSlide second_master = ppt.getMasters().get(1);

        //为两个母版分别设置不同的背景图片
        BufferedImage image = ImageIO.read(new FileInputStream("pic1.png"));
        IImageData imageData = ppt.getImages().append(image);
        first_master.getSlideBackground().setType(BackgroundType.CUSTOM);
        first_master.getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);
        first_master.getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
        first_master.getSlideBackground().getFill().getPictureFill().getPicture().setEmbedImage(imageData);
        IAutoShape textShape = first_master.getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle2D.Float((float) ppt.getSlideSize().getSize().getWidth()/3,180,200,30));
        textShape.getTextFrame().setText("首页母版");
        textShape.getTextFrame().getTextRange().setFontHeight(40f);
        textShape.getTextFrame().getTextRange().getFill().setFillType(FillFormatType.SOLID);
        textShape.getTextFrame().getTextRange().getFill().getSolidColor().setColor(Color.red);
        textShape.getTextFrame().getTextRange().getParagraph().setAlignment(TextAlignmentType.CENTER);
        textShape.getFill().setFillType(FillFormatType.NONE);
        textShape.getLine().setFillType(FillFormatType.NONE);

        image = ImageIO.read(new FileInputStream("pic2.png"));
        imageData = ppt.getImages().append(image);
        second_master.getSlideBackground().setType(BackgroundType.CUSTOM);
        second_master.getSlideBackground().getFill().setFillType(FillFormatType.PICTURE);
        second_master.getSlideBackground().getFill().getPictureFill().setFillType(PictureFillType.STRETCH);
        second_master.getSlideBackground().getFill().getPictureFill().getPicture().setEmbedImage(imageData);

        //在第一页应用第一个母版及版式(板式6为空板式)
        ppt.getSlides().get(0).setLayout(first_master.getLayouts().get(6));

        //在剩下的幻灯片应用第二个母版及版式
        for (int i = 1; i < ppt.getSlides().getCount(); i++)
        {
            ppt.getSlides().get(i).setLayout(second_master.getLayouts().get(6));
        }

        //保存文档
        ppt.saveToFile("MultiSlideMaters.pptx", FileFormat.PPTX_2013);
        ppt.dispose();
    }
}

 

0
4
分享到:
评论

相关推荐

    Java 创建并应用PPT幻灯片母版的方法示例

    Java 创建并应用 PPT 幻灯片母版的方法示例 幻灯片母版是 PowerPoint 文档中的一种重要组成部分,它允许用户设置幻灯片的样式,例如标题文字、背景、属性等。本文将介绍如何用 Java 创建并应用单个或多个幻灯片母版...

    PPT幻灯片母板集锦38个

    母板(Master Slide)是PPT设计中的一个重要概念,它定义了幻灯片的全局样式,包括背景颜色、字体样式、页脚位置等元素,使得整个演示文稿保持一致性和专业性。下面我们将详细探讨"幻灯片母板集锦38个"这个资源中的...

    PPT母版设置运用教程.rar

    一劳永逸:对幻灯片母版的更改,将应用于所有幻灯片页面,PPT页数越多版式越复杂,用母版越高效;母版中设置的版式,普通视图中其他人无法意外删除或编辑;版式里可以一键换母版。母版类型:讲义母版;备注母版;...

    设置幻灯片母版课件PPT学习教案.pptx

    5. 完成编辑后,点击`幻灯片母版视图`工具栏上的`关闭母版视图`按钮,返回正常视图,这时所有新的或现有的幻灯片都将应用这些母版设置。 除了幻灯片母版,还有标题母版,专门用于存储标题幻灯片的样式。标题幻灯片...

    利用java poi操作ppt

    3. **创建幻灯片并插入文本** 创建新幻灯片使用`createSlide()`方法,然后通过`XSLFSlide`对象的`createTextShape()`方法插入文本。例如: ```java XSLFSlide slide = ppt.createSlide(); XSLFTextShape ...

    PPT幻灯片制作高级进阶教程

    在PPT幻灯片制作高级进阶教程中,我们将探讨如何提升你的幻灯片设计技巧,使其成为一种有效的沟通工具,而非仅仅是文字的堆砌。首先,我们需要理解PPT的本质,它应该帮助我们清晰地传达信息,而不是成为信息传递的...

    计算机应用基础幻灯片制作ppt课件.ppt

    通过“视图”菜单进入母版视图,可以修改标题母版和幻灯片母版,如更改字体、字号、颜色等,所作的改动会应用到所有相关的幻灯片。 10. 幻灯片编号和日期时间:通过“插入”-&gt;“幻灯片编号”和“日期和时间”,可以...

    PPT幻灯片制作高手进阶全攻略.ppt

    这样,每次创建新幻灯片时,可以直接应用预设的样式。 估算幻灯片容量是规划演讲的关键步骤。可以根据演讲时间和内容预估所需的幻灯片数量,确保在限定时间内突出重点,让听众全面了解信息。例如,10分钟的报告可能...

    计算机应用基础-幻灯片制作(1).ppt

    14. 视图→母版→幻灯片母板:学习如何使用视图→母版→幻灯片母板来设计和编辑幻灯片的母板。 15. 幻灯片基本操作:学习如何进行幻灯片的基本操作,包括插入、删除、复制、剪切和移动等。 16. 幻灯片的基本设置和...

    计算机应用 幻灯片母版设计.docx

    【幻灯片母版设计】在计算机应用领域,特别是在演示文稿制作中,是一个至关重要的环节。幻灯片母版是PowerPoint等演示软件中的一种高级功能,它为整个演示文稿提供了一种统一的样式和布局,包括背景、色彩、字体、...

    电脑时代背景PPT幻灯片模板.ppt

    总之,【电脑时代背景PPT幻灯片模板.ppt】提供了一个专业且现代的平台,让用户能够轻松创建具有科技感的演示文稿,无论是进行商业报告还是学术演讲,都能有效地传达信息并吸引观众的注意力。通过灵活运用模板的各种...

    Office高级应用-第17章 PPT设计与制作-幻灯片美化(版式设计与色彩搭配).pptx

    在“视图”选项卡中选择“幻灯片母版”,在此界面下可以设置版式、添加元素,并调整字体、字号和颜色,以满足个性化需求。 此外,图片处理也是幻灯片美化的重要环节。选取与内容相关的、尺寸适中、色彩协调的图片...

    第06章、幻灯片母版、主题和模板.rar

    在PPT设计与制作中,幻灯片母版、主题和模板是三个至关重要的概念,它们极大地提升了演示文稿的统一性和专业性。本章内容将深入探讨这三个方面,帮助你提升PPT的设计技巧和效率。 一、幻灯片母版(Slide Master) ...

    ppt幻灯片课程设计

    这份PPT可以作为一个参考模板,帮助其他同学了解如何创建一个吸引人且内容丰富的幻灯片。 首先,我们来讨论一下PPT设计的基本原则。幻灯片是传达信息和讲解主题的重要工具,因此设计时应遵循清晰、简洁和一致性的...

    PowerPoint2021设置幻灯片母版版式及背景图片.docx

    在制作演示文稿时,熟练掌握幻灯片母版的使用能够大大提高效率,并确保演示文稿具有专业和一致的外观。通过自定义母版,你可以创造出独特的模板,适应各种场合的需求,无论是商业报告、教育培训还是个人分享,都能让...

    BatchPPT 2.8破解版(幻灯片文档批理处理修改)natyou作品

    首先说明两点: 一、360会报毒,我使用起来觉得很好,所以放在这里,以备...PPT文件批量设置图片:批量为幻灯片母版插入图片或批量设置背景图片。 幻灯片文件批量合并:将多个幻灯片文档(PPT文档)合并成一个PPT文档。

    PPT幻灯片怎么添加页码.docx

    PPT幻灯片添加页码方法 在 PowerPoint 中添加页码是一项非常实用的功能,特别是在编辑长篇幅的演示文稿时。然而,PowerPoint 2021 并不能直接通过在页眉或者页角里插入总页数的方法来给所有幻灯片都加上页数。这是...

    PPT如何应用母版图文教学

    通过上述步骤,您不仅学会了如何在PPT中应用母版,还了解了一些关于主题和幻灯片母版的基础知识。熟练掌握这些技能将极大地提高您制作PPT的效率,并使您的演示文稿更具专业性。希望本教程能帮助到您,如果您有任何...

    研究生毕业答辩必看ppt幻灯片使用总结

    在研究生毕业答辩中,一份精心制作的PPT幻灯片是至关重要的。以下是关于如何有效使用PPT幻灯片的一些关键知识点: 一、幻灯片的模板 1. 页面大小的选择:确保根据实际需求调整幻灯片的尺寸,例如选择35mm页面以...

    ppt幻灯片模板制作教程.docx

    这样,你就可以在创建新PPT时选择这个模板,快速得到统一风格的幻灯片。 通过以上步骤,你已经掌握了制作PPT幻灯片模板的基本技巧。不断实践和创新,你的设计技能将日益精进,从新手逐步成长为制作精美模板的高手。...

Global site tag (gtag.js) - Google Analytics