Java 创建并应用PPT幻灯片母版(java制作ppt)

前言

在PowerPoint文档中,幻灯片母版可供用户设置幻灯片的样式,比如标题文字、背景、属性等。预先设定好的幻灯片母版可用于所有幻灯片,此外,也可创建多个幻灯片母版分别应用到幻灯片中。本文将介绍如何创建并应用单个或多个幻灯片母版。

环境构建

文中代码演示用到的工具是Free Spire.Presentation for Java,可通过E-iceblue中文官网下载获取。解压后将位于lib文件夹下的Spire.Presentation.jar导入Java程序(如下图所示)。此外,还可通过maven仓库安装导入。

Java 创建并应用PPT幻灯片母版(java制作ppt)

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 UniqueSlideMaster { public static void main(String[] args) throws Exception { //创建ppt文档,指定幻灯片大小 Presentation presentation = new Presentation(); presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9); //获取第一张母版 IMasterSlide masterSlide = presentation.getMasters().get(0); //获取图片地址 String backgroundPic = "C:UsersTest1DesktopBackground.jpg"; String logo = "C:UsersTest1Desktoplogo2.png"; //设置母版背景 BufferedImage image = ImageIO.read(new FileInputStream(backgroundPic)); IImageData imageData = presentation.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); //添加图片(公司Logo)到母版 image = ImageIO.read(new FileInputStream(logo)); imageData = presentation.getImages().append(image); IEmbedImage imageShape = masterSlide.getShapes().appendEmbedImage(ShapeType.RECTANGLE,imageData,new Rectangle2D.Float(40,40,200,100)); imageShape.getLine().setFillType(FillFormatType.NONE); //添加文字(公司名称)到母版 IAutoShape textShape = masterSlide.getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle2D.Float((float) presentation.getSlideSize().getSize().getWidth()-200,(float) presentation.getSlideSize().getSize().getHeight()-60,200,30));//Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(ppt.SlideSize.Size.Width-200, ppt.SlideSize.Size.Height-60, 200, 30)); textShape.getTextFrame().setText("鹰翔传媒有限公司"); textShape.getTextFrame().getTextRange().setFontHeight(15f); textShape.getTextFrame().getTextRange().getFill().setFillType(FillFormatType.SOLID); textShape.getTextFrame().getTextRange().getFill().getSolidColor().setColor(Color.blue); textShape.getTextFrame().getTextRange().getParagraph().setAlignment(TextAlignmentType.CENTER); textShape.getFill().setFillType(FillFormatType.NONE); textShape.getLine().setFillType(FillFormatType.NONE); //添加一张幻灯片 presentation.getSlides().append(); //保存文档 presentation.saveToFile("output/SlideMaster.pptx", FileFormat.PPTX_2013); presentation.dispose(); }}

创建效果:

Java 创建并应用PPT幻灯片母版(java制作ppt)

示例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.image.BufferedImage;import java.io.FileInputStream;public class MultiSlideMasters { public static void main(String[] args)throws Exception { //新建PPT文档 Presentation presentation = new Presentation(); presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9); //插入4页幻灯片(连同默认的幻灯片,文档中共5页) for (int i = 0; i < 4; i ) { presentation.getSlides().append(); } //获取默认的母版 IMasterSlide first_master = presentation.getMasters().get(0); //创建并获取第二个母板 presentation.getMasters().appendSlide(first_master); IMasterSlide second_master = presentation.getMasters().get(1); //为两个母版分别设置不同的背景图片 String pic1 = "C:UsersTest1DesktopImage1.jpg"; String pic2 = "C:UsersTest1DesktopImage2.jpg"; BufferedImage image = ImageIO.read(new FileInputStream(pic1)); IImageData imageData = presentation.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); image = ImageIO.read(new FileInputStream(pic2)); imageData = presentation.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为空板式) presentation.getSlides().get(0).setLayout(first_master.getLayouts().get(6)); //在剩下的幻灯片应用第二个母版及版式 for (int i = 1; i < presentation.getSlides().getCount(); i ) { presentation.getSlides().get(i).setLayout(second_master.getLayouts().get(6)); } //保存文档 presentation.saveToFile("output/MultiSlideMaters.pptx", FileFormat.PPTX_2013); presentation.dispose(); }}

创建效果:

Java 创建并应用PPT幻灯片母版(java制作ppt)

(本文完)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月21日 上午9:17
下一篇 2024年5月21日 上午9:29

相关推荐

  • 蓝凌数字档案室,收、管、存、用更高效

    2021年,中共中央办公厅、国务院办公厅印发《“十四五”全国档案事业发展规划》,对“十四五”期间的企业档案工作做出了全面规划和部署。明确提出要创新档案业务监督指导方式,深入开展企业…

    2022年8月30日
    318
  • 科研项目纪录片怎么拍

    科研项目纪录片怎么拍 科研项目纪录片是一种记录和展示科研项目的影片,能够帮助观众了解科研项目的开展过程、研究人员的工作内容和研究成果。一部好的科研项目纪录片应该具备清晰的叙事结构、…

    科研百科 2025年5月24日
    5
  • 工科科研项目申请书范文

    工科科研项目申请书范文 项目名称:XXX 项目 项目简介: XXX 项目旨在通过采用先进的XXX技术,为XXX 领域提供更加高效、可靠、安全的XXX 服务。该项目将结合XXX 理论…

    科研百科 2025年4月28日
    2
  • 清风头条|武陵源区财政局:多措并举 扎实推进“清廉机关”建设

    红网时刻通讯员 侯智伟 梅叶 武陵源报道 今年以来,武陵源区财政局对准“清廉武陵源”建设要求,深入推进财政“清廉文化”建设,夯实“清廉业务”、建设“清廉队伍”、筑牢“清廉防线”,不…

    科研百科 2023年1月14日
    195
  • ssm框架教务管理系统项目

    ssm框架教务管理系统项目 随着现代教育的不断发展,教务管理系统已经成为了现代教育必不可少的一部分。教务管理系统可以对学校的教学、管理、查询等方面进行全面的控制和管理,提高了学校的…

    科研百科 2025年6月17日
    0
  • 信息管理系统项目立项

    信息管理系统项目立项 随着信息技术的不断发展,企业对于信息管理系统的需求也在不断增加。一个高效的信息管理系统可以帮助企业更好地管理信息,提高工作效率,降低成本,提升企业的竞争力。因…

    科研百科 2024年12月30日
    0
  • 高校科研项目人工成本

    高校科研项目人工成本概述 高校科研项目人工成本是指用于支持科研项目的人工成本,包括实验室设施,人员,材料,设备和其他费用。这些费用通常用于支持研究人员,实验室设施和设备,以及研究生…

    科研百科 2025年6月2日
    1
  • 科研项目合作的协议范本

    科研项目合作的协议范本 为了规范科研项目合作的流程,保证合作过程的公正性和透明度,我们达成以下科研项目合作的协议范本。本协议范本包括但不限于以下内容: 一、项目概述 1.1 项目名…

    科研百科 2025年4月12日
    1
  • 科研项目软件开发人工费标准表(科研项目软件开发人工费标准)

    科研项目软件开发人工费标准 随着科技的不断进步,科研项目的开发变得越来越重要。然而,科研项目的开发过程往往需要耗费大量的时间和金钱,因此,如何确定科研项目软件开发人工费标准成为了一…

    科研百科 2024年4月7日
    171
  • 【专业科普】最全MEM科普!一篇文章让你了解工程管理硕士!(读工程管理硕士(mem)有用吗-)

    有这么一个管理类专硕,它让工程领域的在职群体和工科的应届生群体都为之“疯狂”,它完美地融合了工学学科和管理学学科,但学费又是出了名的性价比高! 本期专业科普系列来给大家讲一讲“它”…

    科研百科 2024年4月24日
    81