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

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

Jar获取及导入:官网下载jar包。Free Spire.Office for JAVA | 下载​www.e-iceblue.cn

下载后,并解压将lib文件夹下的jar文件导入Java程序,或者通过maven仓库下载导入通过 Maven 仓库安装 Spire 系列 Java 产品​www.e-iceblue.cn

如下导入效果:

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();

}

}

多个母版创建效果:

java 生成ppt_Java 创建并应用PPT幻灯片母版相关推荐

  1. java分层ppt_Java 合并、拆分PPT幻灯片

    随着PPT文档在日常工作中的使用越来越频繁,为了便于操作和管理文档,时常会遇到需要将PPT幻灯片进行合并或拆分的情况.一般来说,合并包括将指定幻灯片合并到文档.将多个幻灯片文档合并为一个文档:拆分包括 ...

  2. java 嵌入ppt_Java 插入图片到PPT幻灯片

    import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import java.a ...

  3. java 基础 ppt_Java基础培训课件.ppt

    Java基础培训课件.ppt ,目 录,第1章 Java基本语法 第2章 面向对象,一个实例程序 Java程序的构成 数据类型.变量和常量 运算符和表达式 流程控制,第1章 Java基本语法,一个实例 ...

  4. java异常处理 ppt_Java异常处理、多线程ppt课件

    Java异常处理.多线程ppt课件 生产理论把企业仅仅抽象为一个生产函数.一种投入产出关系.一个追求利润最大化的"黑匣子 ",它没有讨论企业内部是如何配置资源的,企业是如何组织生产 ...

  5. Java 添加音频到ppt_Java 添加文本框到PPT幻灯片过程解析

    本文将介绍图和通过Java程序添加文本框到PPT幻灯片的方法.包括设置文本框边框样式.填充效果.阴影效果.文本框旋转.文字样式等. 使用工具:Free Spire.Presentation for J ...

  6. Java 合并、拆分PPT幻灯片

    序 在日常使用PPT时,为了便于操作和管理文档,时常会遇到需要将PPT幻灯片进行合并或拆分的情况.本文将通过Java程序来演示如何进行上述操作. 示例要点: 1. 合并PPT幻灯片 1.1 将第一个P ...

  7. java 生成ppt_POI之PPT导出最简单实例

    开心一笑 有个四岁的小鬼问我:哥哥你怎么长得那么丑啊? 我想了想,到他耳边说:你不要告诉别人哦.其实我就是未来的你. 他哭了... 提出问题 如何实现一个最简单的PPT导出功能呢??? 解决问题 QQ ...

  8. Java 将PPT幻灯片转为HTML

    本文以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...

  9. ppt html java,怎么利用Java将PPT幻灯片转为HTML?

    下面以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...

  10. java将ppt转成html,Java 将PPT幻灯片转为HTML文件的实现思路

    本文以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...

最新文章

  1. Linux的Unicon资料
  2. android sqlite 怎么写入存储时间
  3. 外贸网络推广浅析怎么能更有效地提升网站的收录?
  4. Python学习笔记:‘’AttributeError: NoneType object has no attribute‘’
  5. 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结
  6. 第二期分享 | WebSocket+MSE——HTML5直播技术解析
  7. Eclipse:如何附加Java源代码
  8. 激活策略 查询_5个提问,详细介绍北极星指标的策略框架
  9. 云计算的发展及应用--演讲用PPT
  10. Pandas使用DataFrame进行数据分析比赛进阶之路(一)
  11. 洛谷1966 火柴排队
  12. Centos7.0 中的中iptables、firewall和SELINUX
  13. Powerbuilder 12.5 下载地址
  14. 现代计算机发展各个阶段的主要特点是什么,计算机的发展历史 现代计算机发展的6个阶段...
  15. java libtorrent_[转载]libtorrent安装windows版
  16. 怎么调整计算机的音量,笔记本音量怎么调_如何调整笔记本电脑的音量-win7之家...
  17. Linaro交叉编译链配置
  18. 16岁的雅虎问答,因“不再受欢迎”将永久关闭
  19. 【数据分析与可视化】Pandas-Dataframe-IO操作
  20. 面试官:RecyclerView布局动画原理了解吗?

热门文章

  1. PAT题集2019.6.5排名变动
  2. 小程序常见授权失败原因和解决办法
  3. javascript三角函数的使用
  4. 1、RFID标签介绍
  5. 2022-车道线检测综述
  6. 有感而发谈谈苏轼的一生
  7. 测试图片色域软件,显示器色域检测
  8. 中国止血分析仪行业市场供需与战略研究报告
  9. 测试开发自我介绍模板
  10. linux shell有哪些变量,Linux Bash Shell有关变量