在上一章中,您已经了解了如何创建空白幻灯片以及如何向其添加幻灯片。 在本章中,您将学习如何获取可用幻灯片的列表,以及如何创建具有不同布局的幻灯片。

可用的幻灯片布局

PowerPoint演示文稿具有幻灯片布局,您可以选择所需的布局来编辑幻灯片。 首先,让我们找出所有可用的幻灯片布局的列表。有不同的幻灯片母版,在每个幻灯片母版中,有几个幻灯片布局。

您可以使用XMLSlideShow类的getSlideMasters()方法获取幻灯片主题列表。

您可以使用XSLFSlideMaster类的getSlideLayouts()方法从每个幻灯片母带获取幻灯片布局的列表。

您可以使用XSLFSlideLayout类的getType()方法从布局对象获取幻灯片布局的名称。

注意:所有这些类都属于org.poi.xslf.usermodel包。

下面给出的是获取PPT中可用幻灯片布局列表的完整程序:import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import org.apache.poi.xslf.usermodel.XMLSlideShow;

import org.apache.poi.xslf.usermodel.XSLFSlideLayout;

import org.apache.poi.xslf.usermodel.XSLFSlideMaster;

public class SlideLayouts {

public static void main(String args[]) throws IOException{

//create an empty presentation

XMLSlideShow ppt = new XMLSlideShow();

System.out.println("Available slide layouts:")

//getting the list of all slide masters

for(XSLFSlideMaster master : ppt.getSlideMasters()){

//getting the list of the layouts in each slide master

for(XSLFSlideLayout layout : master.getSlideLayouts()){

//getting the list of available slides

System.out.println(layout.getType());

}

}

}

}

将上述Java代码保存为SlideLayouts.java,然后从命令提示符处编译并执行,如下所示:$javac SlideLayouts.java

$java SlideLayouts

它将编译并执行以生成以下输出:Available slide layouts:

TITLE

PIC_TX

VERT_TX

TWO_TX_TWO_OBJ

BLANK

VERT_TITLE_AND_TX

TITLE_AND_CONTENT

TITLE_ONLY

SECTION_HEADER

TWO_OBJ

OBJ_TX

下面显示的是MS-Office 360,2013版本提供的一些示例幻灯片布局。

标题布局

让我们使用标题布局在PPT中创建幻灯片。 请按照以下步骤操作:

步骤1:通过实例化XMLSlideShow类创建一个空的演示文稿,如下所示:XMLSlideShow ppt = new XMLSlideShow();

步骤2:使用getSlideMasters()方法获取幻灯片主题列表。 此后,使用索引选择所需的幻灯片母带,如下所示:XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];

这里我们得到的默认幻灯片母版是在幻灯片主数据的第0位置。

步骤3:使用XSLFSlideMaster类的getLayout()方法获取所需的布局。 此方法接受一个参数,您必须传递SlideLayoutclass的静态变量之一,代表我们所需的布局。 这个类中有几个变量,每个变量代表一个幻灯片布局。

下面的代码片段显示了如何创建标题布局:XSLFSlideLayout titleLayout = slideMaster.getLayout(SlideLayout.TITLE);

步骤4:通过将幻灯片布局对象作为参数传递来创建新幻灯片。XSLFSlide slide = ppt.createSlide(titleLayout);

第5步:使用XSLFSlide类的getPlaceholder()方法选择占位符。 此方法接受整数参数。 通过传递0到它,你会得到XSLFTextShape对象,使用它可以访问幻灯片的标题文本区域。 使用setText()方法设置标题,如下所示:XSLFTextShape title1 = slide.getPlaceholder(0);

//setting the title init

title1.setText("Tutorials point");

下面给出的是在演示文稿中创建带有标题布局的幻灯片的完整程序:import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import org.apache.poi.xslf.usermodel.SlideLayout;

import org.apache.poi.xslf.usermodel.XMLSlideShow;

import org.apache.poi.xslf.usermodel.XSLFSlide;

import org.apache.poi.xslf.usermodel.XSLFSlideLayout;

import org.apache.poi.xslf.usermodel.XSLFSlideMaster;

import org.apache.poi.xslf.usermodel.XSLFTextShape;

public class TitleLayout {

public static void main(String args[]) throws IOException{

//creating presentation

XMLSlideShow ppt = new XMLSlideShow();

//getting the slide master object

XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];

//get the desired slide layout

XSLFSlideLayout titleLayout = slideMaster.getLayout(SlideLayout.TITLE);

//creating a slide with title layout

XSLFSlide slide1 = ppt.createSlide(titleLayout);

//selecting the place holder in it

XSLFTextShape title1 = slide1.getPlaceholder(0);

//setting the title init

title1.setText("Tutorials point");

//create a file object

File file=new File("C://POIPPT//Examples//Titlelayout.pptx");

FileOutputStream out = new FileOutputStream(file);

//save the changes in a PPt document

ppt.write(out);

System.out.println("slide cretated successfully");

out.close();

}

}

将上面的Java代码保存为TitleLayout.java,然后从命令提示符处编译并执行它,如下所示:$javac TitleLayout.java

$java TitleLayout

它将编译并执行以生成以下输出。slide created successfully

带有新添加的标题布局幻灯片的PPT文档如下所示:

标题和内容布局

让我们使用标题和内容布局在PPT中创建幻灯片。 按照下面给出的步骤。

步骤1:通过实例化XMLSlideShow类创建一个空的演示文稿,如下所示:XMLSlideShow ppt = new XMLSlideShow();

步骤2:使用getSlideMasters()方法获取幻灯片主题列表。 使用索引选择所需的幻灯片母带,如下所示:XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];

这里我们得到的默认幻灯片母版是在幻灯片主数据的第0位置。

步骤3:使用XSLFSlideMaster类的getLayout()方法获取所需的布局。 此方法接受一个参数,您必须传递代表我们所需布局的SlideLayout类的静态变量之一。 这个类中有几个变量代表幻灯片布局。

以下代码段显示如何创建标题和内容布局:XSLFSlideLayout contentlayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);

步骤4:通过将幻灯片布局对象作为参数传递来创建新幻灯片。XSLFSlide slide = ppt.createSlide(SlideLayout.TITLE_AND_CONTENT);

第5步:使用XSLFSlide类的getPlaceholder()方法选择占位符。 此方法接受整数参数。 通过传递1给它,你会得到XSLFTextShape对象,使用它可以访问幻灯片的内容区域。 使用setText()方法设置标题,如下所示:XSLFTextShape title1 = slide1.getPlaceholder(1);

//setting the title init

title1.setText("Introduction");

步骤6:使用XSLFTextShape类别的clearText()方法清除投影片中现有的文字。body.clearText();

步骤7:使用addNewTextParagraph()方法添加新段落。 现在使用addNewTextRun()方法向段落中添加一个新的文本运行。 现在到文本运行,使用setText()方法添加文本,如下所示:body.addNewTextParagraph().addNewTextRun().setText("this is my first slide body");

下面给出的是在演示文稿中创建带有标题布局的幻灯片的完整程序:import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import org.apache.poi.xslf.usermodel.SlideLayout;

import org.apache.poi.xslf.usermodel.XMLSlideShow;

import org.apache.poi.xslf.usermodel.XSLFSlide;

import org.apache.poi.xslf.usermodel.XSLFSlideLayout;

import org.apache.poi.xslf.usermodel.XSLFSlideMaster;

import org.apache.poi.xslf.usermodel.XSLFTextShape;

public class TitleAndBodyLayout {

public static void main(String args[]) throws IOException{

//creating presentation

XMLSlideShow ppt = new XMLSlideShow();

//getting the slide master object

XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];

//select a layout from specified list

XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);

//creating a slide with title and content layout

XSLFSlide slide = ppt.createSlide(slidelayout);

//selection of title place holder

XSLFTextShape title = slide.getPlaceholder(0);

//setting the title in it

title.setText("introduction");

//selection of body placeholder

XSLFTextShape body = slide.getPlaceholder(1);

//clear the existing text in the slide

body.clearText();

//adding new paragraph

body.addNewTextParagraph().addNewTextRun().setText("this is my first slide body");

//create a file object

File file=new File("contentlayout.pptx");

FileOutputStream out = new FileOutputStream(file);

//save the changes in a file

ppt.write(out);

System.out.println("slide cretated successfully");

out.close();

}

}

将上述Java代码保存为TitleLayout.java,然后从命令提示符处编译并执行它,如下所示:$javac TitleLayout.java

$java TitleLayout

它将编译并执行以生成以下输出:slide created successfully

带有新添加的标题布局幻灯片的PPT文档如下所示:

以同样的方式,您也可以创建具有不同布局的幻灯片。

java xslfslide_Apache POI PPT - 幻灯片布局相关推荐

  1. 库ppt演示 python_python操作Power Point:PPT幻灯片布局基础

    前面对python操作PPT 做了一个概述, 并展开了如何打开处理一个PPT的具体操作,本节会为自动处理每一个PPT页打下基础,介绍单页PPT(幻灯片)的基础知识. 使用幻灯片 单页PPT(幻灯片)的 ...

  2. python ppt_python操作Power Point:PPT幻灯片布局基础

    前面对python操作PPT 做了一个概述, 并展开了如何打开处理一个PPT的具体操作,本节会为自动处理每一个PPT页打下基础,介绍单页PPT(幻灯片)的基础知识.使用幻灯片 单页PPT(幻灯片)的基 ...

  3. Java 打印PPT幻灯片

    本篇文章将介绍通过Java程序打印PPT幻灯片的方法.包括打印幻灯片的所有页.打印幻灯片中的指定页面. 使用工具:Free Spire.Presentation for Java (免费版) Jar文 ...

  4. java 幻灯片_Java 打印PPT幻灯片

    本篇文章将介绍通过Java程序打印PPT幻灯片的方法.包括打印幻灯片的所有页.打印幻灯片中的指定页面. 使用工具:Free Spire.Presentation for Java (免费版) Jar文 ...

  5. java poi3.15 ppt,Apache POI PPT - 演示( Presentation)

    Apache POI PPT - 演示( Presentation) 通常,我们使用MS-PowerPoint来创建演示文稿. 现在让我们看看如何使用Java创建演示文稿. 完成本章后,您将能够使用J ...

  6. java 使用poi将PPT转为图片,在线预览PPT

    在线预览PPT,我的思路为java 使用poi将PPT转为图片,图片存储到指定的文件夹下面,然后返回生成的图片名称集合,将图片路径遍历到前台的html标签上,用HTML前台模仿画一个PPT框架,操作图 ...

  7. java通过poi操作ppt

    Java POI导出ppt简单实现 Java使用poi组件导出ppt报表幻灯片,poi导出pptx表格可以合并单元格,输出老版本的ppt不支持合并单元格, 下面介绍poi导出pptx的一些常用功能, ...

  8. java使用poi逐页读取ppxt,JAVA-WEB(通过POI)实现PPT在线预览

    思路: 获取网络PPT 文件 将PPT每一页的幻灯片都转换成单张图片 用流输出到页面展示 1, 首先获取PPT格式 PPT格式无非两种 PPTX,PPT 2,获取PPT幻灯片页数传递到JSP中 3,J ...

  9. Java多个ppt合并脚本_Apache POI PPT - 合并( Merging)

    Apache POI PPT - 合并( Merging) 您可以使用XMLSlideShow类的importContent()方法合并多个演示文稿. 以下是合并两个演示文稿的完整程序 -import ...

  10. Java基于POI对PPT的基本操作

    Java基于POI对PPT的基本操作 在Java中对PPT文件进行操作的话,我使用的是Apache的开源项目POI.该项目的功能主要是使用Java开发或生成微软办公文件,比如:Word.Excel.P ...

最新文章

  1. PHP使用BC Math 函数处理浮点运算问题
  2. Init进程和进程 ④
  3. R语言可视化绘制及PDF使用字体参数列表:查看字体列表、可视化绘制图像中的字体参数列表、字体示例并写入pdf
  4. PYPL 12 月 IDE 榜单:Eclipse 有望超越 Visual Studio
  5. VTK:可视化之FastSplatter
  6. php 修改 wordpress,wordpress怎么编辑代码修改页面
  7. csdn的blog后台程序的导航菜单的实现
  8. 网站性能Web压力测试工具webbench
  9. C 语言中获取文件长度(ftell函数)
  10. Windows10开启电脑卓越性能模式,运行速度提升10%,CUP利用率达到50%
  11. ThinkPad Win7更改鼠标滚轮设置问题
  12. MATLAB 曲线拟合
  13. OS实验-模拟实现首次/最佳/最坏适应算法的内存块分配和回收
  14. 服务器和售票系统,网上售票系统的开发与实现.doc
  15. 7-78 求e的近似值 (15 分)
  16. 第一篇:爬虫基本原理
  17. vue-router的实现
  18. python百科全书_维基百科中的数据科学:手把手教你用Python读懂全球最大百科全书...
  19. 深圳大数据培训技术分享:Hadoop集群同步
  20. somachine V4.1如何注册

热门文章

  1. Doom3 couldn't load default.cfg
  2. uniapp 跳转到外部链接
  3. java 雪崩效应,七、微服务架构中的“雪崩效应”
  4. LeetCode 香槟塔
  5. Fandis COSTECH A17M23SWB MT0再见,故宫
  6. 7段数码管动态扫描c语言,7段数码管动态扫描原理及其实现方式
  7. 蓝桥杯 第39级台阶
  8. 在线图片文字识别html,识别文字在线_识别图片文字的在线方法是什么?
  9. 修改win10搜索框(Cortana)调用默认浏览器(edge)和搜索引擎
  10. 德州农工大学计算机专业研究生,德州农工大学计算机工程(无论文)理学硕士研究生申请要求及申请材料要求清单...