java 生成ppt_Java 创建并应用PPT幻灯片母版
幻灯片母版,可在幻灯片中预先存储设计模板信息,包括字形、占位符大小或位置、背景设计和配色方案等;对设定好的母版可应用于所有幻灯片,也可设计多个不同母版应用于不同幻灯片。下面通过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幻灯片母版相关推荐
- java分层ppt_Java 合并、拆分PPT幻灯片
随着PPT文档在日常工作中的使用越来越频繁,为了便于操作和管理文档,时常会遇到需要将PPT幻灯片进行合并或拆分的情况.一般来说,合并包括将指定幻灯片合并到文档.将多个幻灯片文档合并为一个文档:拆分包括 ...
- java 嵌入ppt_Java 插入图片到PPT幻灯片
import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import java.a ...
- java 基础 ppt_Java基础培训课件.ppt
Java基础培训课件.ppt ,目 录,第1章 Java基本语法 第2章 面向对象,一个实例程序 Java程序的构成 数据类型.变量和常量 运算符和表达式 流程控制,第1章 Java基本语法,一个实例 ...
- java异常处理 ppt_Java异常处理、多线程ppt课件
Java异常处理.多线程ppt课件 生产理论把企业仅仅抽象为一个生产函数.一种投入产出关系.一个追求利润最大化的"黑匣子 ",它没有讨论企业内部是如何配置资源的,企业是如何组织生产 ...
- Java 添加音频到ppt_Java 添加文本框到PPT幻灯片过程解析
本文将介绍图和通过Java程序添加文本框到PPT幻灯片的方法.包括设置文本框边框样式.填充效果.阴影效果.文本框旋转.文字样式等. 使用工具:Free Spire.Presentation for J ...
- Java 合并、拆分PPT幻灯片
序 在日常使用PPT时,为了便于操作和管理文档,时常会遇到需要将PPT幻灯片进行合并或拆分的情况.本文将通过Java程序来演示如何进行上述操作. 示例要点: 1. 合并PPT幻灯片 1.1 将第一个P ...
- java 生成ppt_POI之PPT导出最简单实例
开心一笑 有个四岁的小鬼问我:哥哥你怎么长得那么丑啊? 我想了想,到他耳边说:你不要告诉别人哦.其实我就是未来的你. 他哭了... 提出问题 如何实现一个最简单的PPT导出功能呢??? 解决问题 QQ ...
- Java 将PPT幻灯片转为HTML
本文以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...
- ppt html java,怎么利用Java将PPT幻灯片转为HTML?
下面以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...
- java将ppt转成html,Java 将PPT幻灯片转为HTML文件的实现思路
本文以Java程序代码为例展示如何通过格式转换的方式将PPT幻灯片文档转为HTML文件.这里的PPT幻灯片可以是.ppt/.pptx/.pps/.ppsx/.potx等格式. 代码实现思路:[加载PP ...
最新文章
- Linux的Unicon资料
- android sqlite 怎么写入存储时间
- 外贸网络推广浅析怎么能更有效地提升网站的收录?
- Python学习笔记:‘’AttributeError: NoneType object has no attribute‘’
- 2016年 第7届 蓝桥杯 Java B组 省赛解析及总结
- 第二期分享 | WebSocket+MSE——HTML5直播技术解析
- Eclipse:如何附加Java源代码
- 激活策略 查询_5个提问,详细介绍北极星指标的策略框架
- 云计算的发展及应用--演讲用PPT
- Pandas使用DataFrame进行数据分析比赛进阶之路(一)
- 洛谷1966 火柴排队
- Centos7.0 中的中iptables、firewall和SELINUX
- Powerbuilder 12.5 下载地址
- 现代计算机发展各个阶段的主要特点是什么,计算机的发展历史 现代计算机发展的6个阶段...
- java libtorrent_[转载]libtorrent安装windows版
- 怎么调整计算机的音量,笔记本音量怎么调_如何调整笔记本电脑的音量-win7之家...
- Linaro交叉编译链配置
- 16岁的雅虎问答,因“不再受欢迎”将永久关闭
- 【数据分析与可视化】Pandas-Dataframe-IO操作
- 面试官:RecyclerView布局动画原理了解吗?