docx4j ppt to html,Docx4j操作PPT指南.pdf

Docx4j操作PPT指南

Docx4j 操作 PPT 指南

——整理自本人博客 /

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究

法律责任。/3629295/771202

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

—— pptx 文档的生成与添加新页

写在最前

由于项目需要系统生成 ppt 文档,在开源技术中选定了 docx4j。docx4j 操作 ppt 的文档几乎

没有(中文的就更加凤毛麟角了),所有的东西只能自己去摸索,因此才有了这一系列的文

档,也算是抛砖引玉,受限于项目使用场景,本系列仅对项目中使用的一些功能进行描述,

我想差不多能够涵盖基本的功能,欢迎各位看官与我进行交流,共同进步。

准备工作

下载 docx4j,项目网址:/trac/docx4j

下载地址:

? SVN trunk: /svn/docx4j/trunk/

? 2.7.1 release: /svn/docx4j/tags/VERSION_2_7_1/

Maven 配置:

org.docx4j

docx4j

2.7.1

注意:docx4j 主要用于操作 Office2007 版本。

创建 ppt 文档

public class CreatePPTX

{

public static void main(String[] args)

throws Exception

{

String outputfilepath = "c://pptx-test.pptx";

// 创建文档的主体

PresentationMLPackage presentationMLPackage = PresentationMLPackage.createPackage();

// 获取 MainPresentationPart,实际上使用

// presentationMLPackage.getMainPresentationPart(); 方法也可以

MainPresentationPart pp = (MainPresentationPart)presentationMLPackage.getParts().getParts().get(new

PartName("/ppt/presentation.xml"));

// 获取布局信息,实际上是获取幻灯片母版的布局页,这个功能很重要。

// 创建一个新页时必须应用一个布局

// "/ppt/slideLayouts/slideLayout1.xml"这个是母版页的 id,具体要看母版中有多少布

// 局样式,是 1、2、3、4 依次排列的

SlideLayoutPart layoutPart = (SlideLayoutPart)presentationMLPackage.getParts().getParts().get(new

PartName("/ppt/slideLayouts/slideLayout1.xml"));

// 创建一个新页,一定要带上布局页信息,否则打开 ppt 时会报错,

// 并且自动指定一个默认的布局样式

// "/ppt/slides/slide1.xml" 每一页的 partName 不能重复

SlidePart slidePart = PresentationMLPackage.createSlidePart(pp, layoutPart, new

PartName("/ppt/slides/slide1.xml"));

// 保存成文件

presentationMLPackage.save(new File(outputfilepath));

System.out.println("\n\n done .. saved " + outputfilepath);

}

}

个人建议不要直接创建新的 ppt 文件,一般对于企业来说都会有几种特定的 ppt 模板,直接

使用这些模板可以节省大量的时间,而且封面页以及母版的布局都是定制好的,只需要用就

可以了。

唯一代码上有所区别,是从一个文件中加载的,如下:

PresentationMLPackage presentationMLPackage = PresentationMLPackage.load(new File(

PSMSConstants.REPORT_PPT2007_TEMPLATE_PATH));

O

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值