public static void main(String[] args) {

try {

// 加载一个ppt文件作为模板

PresentationMLPackage presentationMLPackage = PresentationMLPackage

.load(new File(PSMSConstants.REPORT_PPT2007_TEMPLATE_PATH));

SlidePart slidePart = (SlidePart) presentationMLPackage.getParts()

.getParts().get(new PartName("/ppt/slides/slide1.xml"));

// 读取XML生成形状

Shape title = (Shape) XmlUtils.unmarshalString(

getSlideTitle("使用Docx4j操作PPT指南系列(二)"), Context.jcPML);

// 注意,主标题与副标题的xml是不同的

Shape subtitle = (Shape) XmlUtils.unmarshalString(

getSubSlideTitle("使用xml 添加标题与副标题"), Context.jcPML);

((Sld) slidePart.getJaxbElement()).getCSld().getSpTree()

.getSpOrGrpSpOrGraphicFrame().add(title);

((Sld) slidePart.getJaxbElement()).getCSld().getSpTree()

.getSpOrGrpSpOrGraphicFrame().add(subtitle);

String path = "c://test.pptx";

presentationMLPackage.save(new java.io.File(path));

} catch (Docx4JException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (JAXBException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 生成标题

*

* @param preset

* @return

*/

public static String getSlideTitle(String preset) {

return "

+ "xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" "

+ "xmlns:p=\"http://schemas.openxmlformats.org/presentationml/2006/main\">"

+ ""

+ ""

+ ""

+ ""

+ "

"

+ ""

+ ""

+ preset

+ ""

+ ""

+ "

";

}

/**

* 添加副标题

*

* @param preset

* @return

*/

public static String getSubSlideTitle(String preset) {

return "

+ "xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" "

+ "xmlns:p=\"http://schemas.openxmlformats.org/presentationml/2006/main\">"

+ ""

+ ""

+ ""

+ ""

+ ""

+ "

"

+ ""

+ preset

+ ""

+ "

";

}

java docx4j 使用教程_使用Docx4j操作PPT指南系列(二)相关推荐

  1. 使用Docx4j操作PPT指南系列(附一)

    添加图片XML,记录一下  /**   * 图片XML   */  private final String imageXml = "<p:pic xmlns:a=\"htt ...

  2. 使用Docx4j操作PPT指南系列(附二)

    pptx 表格定义xml,记录一下 <p:graphicFrame>        <p:nvGraphicFramePr>         <p:cNvPr id=&q ...

  3. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  4. 遨博机器人展示_遨博协作机器人全系列二:iV系列智能视觉专用插件无缝对接...

    原标题:遨博协作机器人全系列二:iV系列智能视觉专用插件无缝对接 2019年9月17日,中国国际工业博览会(CIIF)在上海盛大召开,同期机器人展(RS)已成为亚洲最具影响力的机器人行业会议,是机器人 ...

  5. 我的世界java版月步教程_《我的世界》月步?幻影剑?大神才会的骚操作 第一个我就跪了!...

    你知道<我的世界>玩家之间的差距有多大吗? "咦,我怎么自己动了?"还没看清楚自己怎么被人拉到跟前,敌人的钻石剑已经在方块菌身上戳出了数道伤痕.每次遇到一些操作大神,& ...

  6. java 坦克大战 教程_[Java教程]坦克大战(一)

    [Java教程]坦克大战(一) 0 2016-09-16 08:00:05 坦克大战(一) 相信大家对坦克大战都不陌生,并且网上也有很多用java实现的小程序,最近用了几天时间将其使用javaScri ...

  7. java后端开发教程_【后端开发】详细讲解JAVA中方法重载概念——简单易懂

    1.什么方法重载? 方法的重载指的是方法名一样,但是参数类型不一样 1.1.attack方法重载 有一种英雄,叫做物理攻击英雄 ADHero,为ADHero 提供三种方法. public void a ...

  8. java web swing 教程_好程序员Java教程解读什么是swing

    原标题:好程序员Java教程解读什么是swing 好程序员Java教程解读什么是swing,swing是java GUI应用程序,也就是java做的桌面应用.运行swing程序要求用户电脑上有java ...

  9. java聚合_Java™ 教程(聚合归纳操作)

    聚合归纳操作 聚合操作一节描述了下列操作管道,计算集合roster中所有男性成员的平均年龄: double average = roster .stream() .filter(p -> p.g ...

  10. java粒子特效教程_使用particles.js实现网页背景粒子特效

    得知途径 B3log提供了两套博客系统,一个是用Java开发的,叫做Solo,我也是在网上搜索Java博客系统时发现了它,之后才了解了B3log:还有一个是用Go语言开发的,叫做Pipe.其中Solo ...

最新文章

  1. 在不锁定表的情况下运行MySQLDump
  2. 【转载】常用DOS命令(包括创建删除文件夹/文件)
  3. oracle创建数据库步骤
  4. boost::describe模块实现pp_call的测试程序
  5. 牛客题霸 [扑克牌顺子] C++题解/答案
  6. 安卓学习笔记35:广播接收者
  7. NYOJ-喷水装置(一)(贪心)
  8. 分享整理的 Python 学习路线图,(附工具+视频+书籍+面试)
  9. java读取word内容
  10. vant显示日期格式_使用Vant完成DatetimePicker 日期的选择器操作
  11. 巧妙按键法,包含几乎所有可以实现的按键功能(单击,双击,N击,长按等功能)
  12. 一文搞懂MySQL索引所有知识点(建议收藏)
  13. Oracle DBA 转行,作为一名oracle dba需要学习的知识
  14. JavaScript一些优雅小技巧不得不知
  15. 用vue实现,鼠标悬停放大图片,根据鼠标位置倾斜图片网页源码
  16. 福昕阅读器文档无法高亮的问题
  17. python 模块使用(二十九)之xlutils
  18. 【SpringBoot】最通俗易懂的安全管理机制(Spring Security)
  19. python编九九乘法表儿歌_python 九九乘法表!小练习
  20. C++项目 - 负载均衡OJ - 1 - 项目概述

热门文章

  1. 初识KnockoutJS
  2. 常见字符的ASCII码值
  3. 常用的3D三维建模软件大全有哪些?
  4. 几款好用的串口和网络调试助手
  5. html5 前端js框架,前端h5框架总结
  6. 华为云计算培训技术如何革新传统行业
  7. jQuery - 不同版本的差异汇总(版本选择建议)
  8. 省级面板数据(2003-2019)二十:道路长度、面积、用水、污水、废气、保护区等(stata或excel版本)
  9. 分享积累5年的人工智能网站,很大帮助
  10. lnmp一键安装包linux,lnmp一键安装包下载地址