java 生成ppt_Java 创建并应用幻灯片母版
前言
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 创建并应用幻灯片母版相关推荐
- Java 创建并用应用幻灯片母版
前言 PPT母版具有强大的模板作用,它能够允许用户根据自己的需求自行设计幻灯片的标题文字.背景图.主题颜色等.PPT母版设计成功后可以直接调用此模板应用到其他幻灯片,避免多次重复编辑.本文将介绍如何使 ...
- 动态生成word文档原来如此简单!Aspose.Words助力以Java编程方式创建丰富的Word文档
近年来,Word文档的动态生成已成为组成报告,报价,发票和其他类型文档的流行功能.各种制造公司都基于数据库中存储的数据生成发票.在这种情况下,文档自动化可以节省手动文档创建过程中所需的时间,精力和资源 ...
- java生成world文件_HelloWorld.java文件如何创建?
原创HelloWorld.java文件如何创建? 编辑:小丸子 来源:PC下载网时间:2017-10-17 19:55:54 相信各位刚接触JAVA的新人都希望尽快编写出自己的第一个程序,今天PC下载 ...
- java 生成二维码 QRCode、zxing 两种方式
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...
- 超详细的java生成excel文件并下载
在网上随手一搜,可以搜到很多java生成excel文件相关的博客,但每个都有不同,核心点说清楚了,但具体运用的时候,相信大家或多或少都没法一次直接运用,这样每次去找并且运用的时候很费时间,所以这也是我 ...
- Java生成Word文档
在开发文档系统或办公系统的过程中,有时候我们需要导出word文档.在网上发现了一个用PageOffice生成word文件的功能,就将这块拿出来和大家分享. 生成word文件与我们编辑word文档本质上 ...
- 使用Java语言从零开始创建区块链
使用Java语言从零开始创建区块链 2018年04月01日 17:08:12 大侠区块链 阅读数:1312 标签: java区块链java区块链 更多 个人分类: 区块链 Java区块链开发与交流群: ...
- java生成验证码工具类_Java生成图形验证码工具类
生成验证码效果 validatecode.java 验证码生成类 package cn.dsna.util.images; import java.awt.color; import java.awt ...
- Java设计模式之创建型:原型模式
一.什么是原型模式: 原型模式主要用于对象的创建,使用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象.UML类图如下: 原型模式的核心是就是原型类 Prototype,Prototype ...
- Java设计模式之创建型:单例模式
一.什么是单例模式: 单例模式可以确保系统中某个类只有一个实例,该类自行实例化并向整个系统提供这个实例的公共访问点,除了该公共访问点,不能通过其他途径访问该实例.单例模式的优点在于: 系统中只存在一个 ...
最新文章
- 使用screen/byobu 管理你的远程会话
- android自定义折线图可左右滑动,25.Android自定义折线图,可左右滑动
- 来电掉队,共享充电宝或许只是外表光鲜
- PHP、Node、Ruby和Python应用,漏洞修复
- Python自动化运维之常用模块—OS
- Shell脚本/bin/bash^M: bad interpreter错误解决方法
- Python中if __name__=='__main__': 理解与总结(看这篇就够了,一文扫清疑惑!)
- UVA10912 Simple Minded Hashing【DP】
- python项目开发实例-有趣的十个Python实战项目,让你瞬间爱上Python!
- python opencv 利用分水岭算法实现对物体的分割 图文详细注释版 以分割官网提供的硬币为例
- ZeroC IceBox介绍及demo构建
- 使用UMDH进行内心泄露分析
- 一位全减器逻辑电路图_全减器(全减器逻辑电路图)
- 港科百创 | “一清创新”完成新一轮融资,跻身准独角兽之列!
- 关于WGAN的学习总结——Lipschitz约束与正则化
- 数据分析之数据质量分析和数据特征分析
- [Spring] [最佳实践] 如何对 @Async 标记的异步方法进行单元测试
- 我家厨房--冬阴功汤和青椒炒腊肠
- 关于广告精准投放的数据分析项目——用MYSQL实现
- php照片墙,照片墙(CSS3动态效果)