JAVA通过COM接口操作PPT

一、 背景说明

在Eclipse环境下,开发JAVA代码操作PPT,支持对PPT模板的修改。包括修改文本标签、图表、表格。满足大多数软件生成PPT报告的要求,即先收工创建好模板,在程序中修改模板数据。

二、 开发环境搭建

下载jacob开源组件,解压后把jacob.jar添加到项目中。拷贝对应的dll文件到Path路径下。32位系统采用X86的dll, 64位系统采用X64的dll。

三、 实现合并PPT函数1.1 合并PPT /*** 合并多个PPT文件。要求输出文件和合并文件均已存在,不创建新文件。* @param outPutPPTPath 合并后输出的文件路径。* @param mergePPTPathList 依次追加合并的文件。*/(String outPutPPTPath, List<String> mergePPTPathList){// 启动 office PowerPoint程序ActiveXComponent pptApp = new ActiveXComponent(“PowerPoint.Application”);Dispatch.put(pptApp, “Visible”, new Variant(true));Dispatch presentations = pptApp.getProperty(“Presentations”).toDispatch();// 打开输出文件Dispatch outputPresentation = Dispatch.call(presentations, “Open”, outPutPPTPath, false,false, true).toDispatch();// 循环添加合并文件for (String mergeFile : mergePPTPathList){Dispatch mergePresentation = Dispatch.call(presentations, “Open”, mergeFile, false,false, true).toDispatch();Dispatch mergeSildes = Dispatch.get(mergePresentation, “Slides”).toDispatch();int mergePageNum = Dispatch.get(mergeSildes, “Count”).toInt();// 关闭合并文件Dispatch.call(mergePresentation, “Close”);Dispatch outputSlides = Dispatch.call(outputPresentation, “Slides”).toDispatch();int outputPageNum = Dispatch.get(outputSlides, “Count”).toInt();// 追加待合并文件内容到输出文件末尾Dispatch.call(outputSlides, “InsertFromFile”, mergeFile, outputPageNum, 1, mergePageNum);}// 保存输出文件,,关闭退出PowerPonit.Dispatch.call(outputPresentation, “Save”);Dispatch.call(outputPresentation, “Close”);Dispatch.call(pptApp, “Quit”);}1.2 调用测试代码(String[] args) throws OpenXML4JException, IOException, XmlException{String outPutPPTPath = “D:\\TEMP\\template\\1.pptx”;List<String> mergePPTPathList = new ArrayList<String>();mergePPTPathList.add(“D:\\TEMP\\template\\2.pptx”);mergePPTPathList.add(“D:\\TEMP\\template\\3.pptx”);MergePPT.merge(outPutPPTPath, mergePPTPathList);;}

自己变得跟水晶一般透明,

JAVA通过COM接口操作PPT

相关文章:

你感兴趣的文章:

标签云: