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

相关推荐

  • 会员管理系统的项目设计

    会员管理系统的项目设计 随着互联网技术的不断发展,会员管理系统已经成为了企业运营中不可或缺的一部分。一个良好的会员管理系统不仅能够提高客户的忠诚度,还能够帮助企业节省大量的时间和成…

    科研百科 2025年1月6日
    1
  • 仓库出库管理软件

    仓库出库管理软件是一种用于管理仓库出库的计算机软件,可以帮助仓库管理人员高效地完成出库任务,并确保出库记录的准确性和完整性。随着电商和零售行业的快速发展,仓库出库管理软件已经成为企…

    科研百科 2025年1月4日
    0
  • 从零搭建自己的社区系统,这个开源项目值得拥有(社区系统开发)

      大家好,我是为广大程序员兄弟操碎了心的小编,每天推荐一个小工具/源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节省开发效率,实现不加班不熬夜不掉头发,是我的目标!   今天…

    科研百科 2024年5月19日
    110
  • 科研项目辅助人员聘用

    科研项目辅助人员聘用 随着科技的不断发展,科研项目辅助人员的需求也在不断增加。这些人员通常负责完成一些辅助性的任务,例如数据输入、数据处理、文献检索和数据分析等。对于科研项目来说,…

    科研百科 4天前
    1
  • 企业项目进度管理软件

    企业项目进度管理软件 随着企业项目的不断增多,企业项目进度管理变得越来越重要。传统的手动管理方式已经无法满足现代项目管理的需要,因此,企业项目进度管理软件成为了越来越多企业选择的对…

    科研百科 2024年5月24日
    87
  • roadmap 产品规划路线图参考

    roadmap product planning roadmap参考 在制定产品规划路线图时, roadmap 是一个重要的参考工具。它可以帮助企业和组织了解产品的目标和愿景,并制…

    科研百科 2024年11月14日
    0
  • 干货:工程项目管理全流程梳理(工程项目全过程管理流程)

    工程建设项目前期工作流程 基本流程 ·建设项目投资决策(建议书、可行性研究报告)流程 建设项目设计阶段工作流程 建设项目准备阶段工作流程 工程建设项目管理流程 项目管理基本流程 招…

    2022年9月15日
    225
  • 企业内部控制流程手册

    企业内部控制流程手册 企业内部控制是企业为了控制内部风险,保证财务信息的准确性和完整性而制定的一系列制度和流程。一个好的内部控制体系可以帮助企业降低风险,提高经营效率,实现可持续发…

    科研百科 2024年10月13日
    6
  • 立信工程项目管理有限公司 概况(立信项目管理系统)

    立信项目管理系统立信项目管理系统各环节环节的目标与重要性,在这里就不赘述了。自建校之后,基本上就要开始正式制定规划,制定计划的时候要与教育、妇联紧密配合,以法律公平公正的原则,同时…

    科研百科 2024年9月28日
    25
  • 淮南市大通区:增强系统观念 推动协作区工作“塑形铸魂”(着力解决系统协同观念不足的问题)

    来源:人民网-安徽频道 “我们运用系统观念、创新思维,持续推动基层纪检监察体制改革,加快推进协作区建设,实现了从‘十指用力’到‘聚指成拳’、从‘单打独斗’到‘协同作战’的转变。”淮…

    科研百科 2023年8月23日
    194