前言

PPT母版具有强大的模板作用,它能够允许用户根据自己的需求自行设计幻灯片的标题文字、背景图、主题颜色等。PPT母版设计成功后可以直接调用此模板应用到其他幻灯片,避免多次重复编辑。本文将介绍如何使用代码在Java应用程序中创建幻灯片母版样式并应用到其他幻灯片。

基本步骤

1.将lib文件夹下的Spire.Presentation.jar包作为依赖项导入到Java应用程序中。

(也可直接通过Maven仓库安装JAR包,配置pom.xml文件的代码见下文)

3.在Java应用程序中新建一个Java Class(此处我命名为CreateSlideMaster 和 CreateMultiSlideMasters),然后输入相应的Java代码并运行。

配置pom.xml文件:

com.e-iceblue

http://repo.e-iceblue.cn/repository/maven-public/

e-iceblue

spire.presentation.free

2.6.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 CreateSlideMaster {

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 = "pic.jpg";

String logo = "logo.jpg";

//设置母版背景

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

//添加图片到母版

image = ImageIO.read(new FileInputStream(logo));

imageData = presentation.getImages().append(image);

IEmbedImage imageShape = masterSlide.getShapes().appendEmbedImage(ShapeType.RECTANGLE,imageData,new Rectangle2D.Float(60,60,220,80));

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,60));//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(20f);

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

}

}

创建多个母版并分别应用到幻灯片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 CreateMultiSlideMasters {

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

{

presentation.getSlides().append();

}

//获取默认的母版

IMasterSlide first_master = presentation.getMasters().get(0);

//创建并获取第二个母板

presentation.getMasters().appendSlide(first_master);

IMasterSlide second_master = presentation.getMasters().get(1);

//为两个母版分别设置不同的背景图片

String pic1 = "image1.jpg";

String pic2 = "image2.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().get(i).setLayout(second_master.getLayouts().get(6));

}

//保存文档

presentation.saveToFile("MultiSlideMaters.pptx", FileFormat.PPTX_2013);

presentation.dispose();

}

}

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

  1. Java 创建并用应用幻灯片母版

    前言 PPT母版具有强大的模板作用,它能够允许用户根据自己的需求自行设计幻灯片的标题文字.背景图.主题颜色等.PPT母版设计成功后可以直接调用此模板应用到其他幻灯片,避免多次重复编辑.本文将介绍如何使 ...

  2. 动态生成word文档原来如此简单!Aspose.Words助力以Java编程方式创建丰富的Word文档

    近年来,Word文档的动态生成已成为组成报告,报价,发票和其他类型文档的流行功能.各种制造公司都基于数据库中存储的数据生成发票.在这种情况下,文档自动化可以节省手动文档创建过程中所需的时间,精力和资源 ...

  3. java生成world文件_HelloWorld.java文件如何创建?

    原创HelloWorld.java文件如何创建? 编辑:小丸子 来源:PC下载网时间:2017-10-17 19:55:54 相信各位刚接触JAVA的新人都希望尽快编写出自己的第一个程序,今天PC下载 ...

  4. java 生成二维码 QRCode、zxing 两种方式

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

  5. 超详细的java生成excel文件并下载

    在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...

  6. Java生成Word文档

    在开发文档系统或办公系统的过程中,有时候我们需要导出word文档.在网上发现了一个用PageOffice生成word文件的功能,就将这块拿出来和大家分享. 生成word文件与我们编辑word文档本质上 ...

  7. 使用Java语言从零开始创建区块链

    使用Java语言从零开始创建区块链 2018年04月01日 17:08:12 大侠区块链 阅读数:1312 标签: java区块链java区块链 更多 个人分类: 区块链 Java区块链开发与交流群: ...

  8. java生成验证码工具类_Java生成图形验证码工具类

    生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...

  9. Java设计模式之创建型:原型模式

    一.什么是原型模式: 原型模式主要用于对象的创建,使用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象.UML类图如下: 原型模式的核心是就是原型类 Prototype,Prototype ...

  10. Java设计模式之创建型:单例模式

    一.什么是单例模式: 单例模式可以确保系统中某个类只有一个实例,该类自行实例化并向整个系统提供这个实例的公共访问点,除了该公共访问点,不能通过其他途径访问该实例.单例模式的优点在于: 系统中只存在一个 ...

最新文章

  1. 使用screen/byobu 管理你的远程会话
  2. android自定义折线图可左右滑动,25.Android自定义折线图,可左右滑动
  3. 来电掉队,共享充电宝或许只是外表光鲜
  4. PHP、Node、Ruby和Python应用,漏洞修复
  5. Python自动化运维之常用模块—OS
  6. Shell脚本/bin/bash^M: bad interpreter错误解决方法
  7. Python中if __name__=='__main__': 理解与总结(看这篇就够了,一文扫清疑惑!)
  8. UVA10912 Simple Minded Hashing【DP】
  9. python项目开发实例-有趣的十个Python实战项目,让你瞬间爱上Python!
  10. python opencv 利用分水岭算法实现对物体的分割 图文详细注释版 以分割官网提供的硬币为例
  11. ZeroC IceBox介绍及demo构建
  12. 使用UMDH进行内心泄露分析
  13. 一位全减器逻辑电路图_全减器(全减器逻辑电路图)
  14. 港科百创 | “一清创新”完成新一轮融资,跻身准独角兽之列!
  15. 关于WGAN的学习总结——Lipschitz约束与正则化
  16. 数据分析之数据质量分析和数据特征分析
  17. [Spring] [最佳实践] 如何对 @Async 标记的异步方法进行单元测试
  18. 我家厨房--冬阴功汤和青椒炒腊肠
  19. 关于广告精准投放的数据分析项目——用MYSQL实现
  20. php照片墙,照片墙(CSS3动态效果)

热门文章

  1. python累乘怎么写_怎么编写Python关于累乘的程序?
  2. Word——如何固定文章中的公式
  3. 下载C语言标准库源码
  4. 案例|工业物联网解决方案•污水处理厂智能监控运维云平台
  5. 为什么蚕宝宝很有钱?
  6. 实验二 帧中继的基本配置
  7. 一文读懂图像局部特征点检测算法!
  8. 服务器文件夹加密码怎么设置,服务器文件夹设置密码
  9. mac怎么禁止某个应用联网?
  10. 机器视觉编码靶标自动提取和解码Coded Target/  Marker Detector