- 浏览: 72662 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
chunfengxixi:
very Good
ie js 调试 调错 工具 -
wangronaldo:
楼主 我试了下 无需第三步 呀
MyEclipse下Axis2插件的下载和安装 -
wmch:
yzz9i 写道$ECLIPSE_HOME\eclipse\l ...
MyEclipse下Axis2插件的下载和安装 -
yzz9i:
$ECLIPSE_HOME\eclipse\links ...
MyEclipse下Axis2插件的下载和安装 -
水墨青颜:
用你这种方法一开始解决这个异常了,可是后来发现生成 java ...
MyEclipse下Axis2插件的下载和安装
/**
* 报告生成ppt
* @author 王明超
* @return void
* @throws IOException
*/
public void exportPpt(HttpServletResponse response, VpReportInfo vpReportInfo, List reportInfoList) throws IOException{
SlideShow ppt = new SlideShow();
//设置母版,这样后续的新建幻灯片都将使用母版的字体,背景等设置
SlideMaster master = ppt.getSlidesMasters()[0];
//Picture
String rootImg = ServletActionContext.getServletContext().getRealPath("resources\\images");
Picture pictpptLine = this.getPicture(ppt, rootImg+"\\pptLine.png", new Rectangle(3, 72, 717, 5));
master.addShape(pictpptLine);
Picture pictpptHead = this.getPicture(ppt, rootImg+"\\pptHead.png", new Rectangle(603, 0, 117, 84));
master.addShape(pictpptHead);
String filename = vpReportInfo.getReportName();
if(reportInfoList!=null && reportInfoList.size()>0) {
for(int i=0;i<reportInfoList.size();i++) {
VpReportPage vo = (VpReportPage)reportInfoList.get(i);
Slide slide = ppt.createSlide();
//TextBox
TextBox txt = this.getTextBox(vo.getTopCaption(), new Rectangle(25, 12, 648, 56), 24, "黑体", Color.black, TextBox.AlignLeft);
slide.addShape(txt);
//TextBox
TextBox txt2 = this.getTextBox(vo.getSubCaption(), new Rectangle(18, 96, 648, 56), 14, "华文中宋", Color.black, TextBox.AlignLeft);
slide.addShape(txt2);
if(!StringUtils.isEmpty(vo.getPicId())) {
String[] picSrc = vo.getPicId().split(",");
String picPath = ServletActionContext.getServletContext().getRealPath("uploadchartPic");
if(picSrc.length>0) {
if(picSrc.length == 1) {//单图
String picName = picSrc[0].substring(picSrc[0].lastIndexOf("/")+1, picSrc[0].length());
BufferedImage image = ImageIO.read(new File(picPath+"\\"+picName));
Picture pict = this.getPicture(ppt, picPath+"\\"+picName, new Rectangle((int)Math.floor(360-0.5*656), 173, 656, (int)Math.floor(656*((double)image.getHeight()/(double)image.getWidth()))));
slide.addShape(pict);
}
// else if(picSrc.length == 2 && "3".equals(vo.getTemplateType())) {//双图(左右排列)
// String picName1 = picSrc[0].substring(picSrc[0].lastIndexOf("/")+1, picSrc[0].length());
// String picName2 = picSrc[1].substring(picSrc[1].lastIndexOf("/")+1, picSrc[1].length());
// Picture pict1 = this.getPicture(ppt, picPath+"\\"+picName1, new Rectangle(50, 250, 300, 200));
// Picture pict2 = this.getPicture(ppt, picPath+"\\"+picName2, new Rectangle(350, 250, 300, 200));
// slide.addShape(pict1);
// slide.addShape(pict2);
// }
// else if(picSrc.length == 2 && "2".equals(vo.getTemplateType())) {//双图(上下排列)
// String picName1 = picSrc[0].substring(picSrc[0].lastIndexOf("/")+1, picSrc[0].length());
// String picName2 = picSrc[1].substring(picSrc[1].lastIndexOf("/")+1, picSrc[1].length());
// Picture pict1 = this.getPicture(ppt, picPath+"\\"+picName1, new Rectangle(250, 152, 200, 194));
// Picture pict2 = this.getPicture(ppt, picPath+"\\"+picName2, new Rectangle(250, 346, 200, 194));
// slide.addShape(pict1);
// slide.addShape(pict2);
// }
else if(picSrc.length >= 2 && ("2".equals(vo.getTemplateType()) || "4".equals(vo.getTemplateType()))) {//双图 多图(上下排列)
for(int j=0;j<picSrc.length;j++) {
String picName = picSrc[j].substring(picSrc[j].lastIndexOf("/")+1, picSrc[j].length());
BufferedImage image = ImageIO.read(new File(picPath+"\\"+picName));
Picture pict = this.getPicture(ppt, picPath+"\\"+picName, new Rectangle((int)Math.floor(360-((388/picSrc.length)*((double)image.getWidth()/(double)image.getHeight()))*0.5), (int)Math.floor(152+(388/picSrc.length)*j), (int)Math.floor((388/picSrc.length)*((double)image.getWidth()/(double)image.getHeight())), (int)Math.floor(388/picSrc.length)));
slide.addShape(pict);
}
}
else if(picSrc.length >= 2 && ("3".equals(vo.getTemplateType()) || "5".equals(vo.getTemplateType()))) {//双图 多图(左右排列)
for(int j=0;j<picSrc.length;j++) {
String picName = picSrc[j].substring(picSrc[j].lastIndexOf("/")+1, picSrc[j].length());
BufferedImage image = ImageIO.read(new File(picPath+"\\"+picName));
Picture pict = this.getPicture(ppt, picPath+"\\"+picName, new Rectangle((int)Math.floor((720/picSrc.length)*j), (int)Math.floor(152+194-((720/picSrc.length)*((double)image.getHeight()/(double)image.getWidth()))*0.5), (int)Math.floor(720/picSrc.length), (int)Math.floor((720/picSrc.length)*((double)image.getHeight()/(double)image.getWidth()))));
slide.addShape(pict);
}
}
}
}
}
}
Slide slideLast = ppt.createSlide();
//TextBox
TextBox txtLast = this.getTextBox("谢谢!", new Rectangle(264, 186, 200, 100), 48, "华文行楷", Color.red, TextBox.AlignCenter);
slideLast.addShape(txtLast);
// ppt.write(new FileOutputStream(new File("e:\\ppt\\wmc.ppt")));
// 向IE发送数据流
response.reset();
response.setContentType("application/vnd.ms-powerpoint"); // mspowerpoint
java.net.URLEncoder.encode(filename, "UTF-8");
String fname = new String(filename.getBytes("gb2312"), "iso-8859-1");
response.setHeader("Content-Disposition", "attachment;Filename=" + fname + ".ppt");
OutputStream os;
try {
os = response.getOutputStream();// 获取输出流
ppt.write(os);// 输出
os.flush();
os.close();// 关闭流
} catch (IOException e) {
System.out.println("导ppt异常" + e.getMessage());
e.printStackTrace();
}
}
public TextBox getTextBox(String text,Rectangle rec,int fontSize,String fontName,Color color,int align){
//TextBox
TextBox txt = new TextBox();
txt.setText(text);
if(rec != null) {
txt.setAnchor(rec);
}
//use RichTextRun to work with the text format
RichTextRun rt = txt.getTextRun().getRichTextRuns()[0];
if(fontSize != 0) {
rt.setFontSize(fontSize);
}
if(fontName != null) {
rt.setFontName(fontName);
}
if(color != null) {
rt.setFontColor(color);
}
if(align != 0) {
rt.setAlignment(align);
}
return txt;
}
public Picture getPicture(SlideShow ppt, String picPath, Rectangle rec) {
File file = new File(picPath);
Picture pict = null;
if(!file.exists()) {
System.out.println("文件:"+picPath+"不存在!");
}
try {
int idx = ppt.addPicture(file, Picture.PNG);
pict = new Picture(idx);
} catch (IOException e) {
e.printStackTrace();
}
if(pict != null && rec != null) {
pict.setAnchor(rec);
}
return pict;
}
发表评论
-
大数据量下载excel
2015-07-06 11:35 1131public void download(int pageS ... -
quartz持久化
2015-03-16 14:41 499调用方法: @Autowired SchedulerFa ... -
java堆栈 (转)
2014-08-19 15:53 602http://blog.csdn.net/songjie52 ... -
下行处理(多线程)
2013-04-27 17:44 736下行处理(多线程) -
java调用.net下的msmq.zip
2013-04-27 16:42 713java调用.net下的msmq.zip -
Ant入门教程
2011-10-21 17:39 922一、构建ant环境 要使用ant首先要构建一个ant环境 ... -
windows xp下配置JDK环境变量
2011-10-21 17:01 11041.安装JDK,安装过程中 ... -
HTTP+POST+XML
2011-06-20 18:16 1323public static int sendRequest(S ... -
工具、技术总结
2011-06-14 09:37 979工具: 1.Axure RP Pro 5.6:制作demo用 ... -
使用 CXF 做 webservice 简单例子
2011-04-21 17:18 1687applicationContext-cxf.xml: ... -
json
2011-03-15 10:01 756private String toIndexInfoJson ... -
jfreechart
2011-02-14 14:16 1008action: package com.bplow.look ... -
上传下载文件--项目中的例子
2010-12-17 15:00 916//***************************** ... -
DES加密解密工具类
2010-12-14 16:34 1588package com.bplow.look.bass.uti ... -
cookie操作(下次自动登录功能)
2010-12-13 14:35 2382//判断是否是下次自动登录,是的话保存cookie ... -
java小知识点
2010-11-19 08:57 734\n:回车+换行 \r:回车 简单来说,就是\n把光标 ... -
apache svn地址
2010-11-12 16:26 1231http://svn.apache.org/repos/asf ... -
dom4j例子Document
2010-11-08 14:22 961import java.io.FileWriter; imp ... -
jbpm学习笔记
2010-11-02 15:25 7551.生成数据库文件 2。发布流程定义 3。创建流程实例 ... -
第一个简单的freemarker例子
2010-10-27 08:51 14381。首先建一个工程(我 ...
相关推荐
大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT大数据可视化PPT...
1.1 概论-计算机的概念与类型.ppt 1.2 概论-计算机的诞生和发展.ppt 1.3 概论-计算机系统的组织.ppt 1.4 概论-计算机的性能指标.ppt 2.1 数值型数据.ppt 2.2 字符型数据.ppt 2.3 数据处理与存储.ppt 2.4 基本运算...
详细的介绍了如何在PPT中插入倒计时器的方法,并附有详细的截图步骤!!!此文件中包含了倒计时器的.swf文件,成功插入倒计时器的ppt文件,还有详细说明步骤的文档! 在PPT中插入swf,为保证播放时每页PPT都播放插入...
这是一套动态工作计划商务PPT模板,第一PPT模板网提供幻灯片模板免费下载。 PPT模板是动态模板,整套幻灯片模板用蓝色作为幻灯片背景,模糊的城市建筑作为幻灯片背景图片,商务气息浓厚,首页用三角的几何图形以及...
高等数学ppt课件 1-1函数的概念.ppt 高等数学ppt课件 1-2函数的几种特性.ppt 高等数学ppt课件 1-3初等函数.ppt 高等数学ppt课件 1-4一些常用不等式和等式.ppt 高等数学ppt课件 1-5极坐标简介.ppt 高等数学ppt课件 10...
模拟电子技术-大学PPT教程课件: 0-模拟电子技术基础课绪论.ppt 1-半导体基础知识.ppt 10-直流电源.ppt 2-基本放大电路.ppt 3-多级放大电路.ppt 4-集成运算放大电路.ppt 5-放大电路的频率响应.ppt 6-放大电路中的...
标题中的“PPT模板 大量优秀国外ppt模板”表明这个资源主要包含一系列高质量的、来自国外的PowerPoint演示文稿模板。这些模板通常设计精美,具有专业感,且适用于各种商务或教育场合。国外的设计理念往往注重创新与...
PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT素材,PPT相关PPT...
20个PPT模板经典PPT设计模板资料各类PPT风格模板参考资料: 1604052017简约时尚小清新通用PPT模板.zip 163512简约手绘动态活动策划方案书ppt模板.zip 178716欧美商务风工作PPT模板.zip 182435简约商务通用ppt模板....
在excel中可以通过窗体或ActiveX控件达到动态控制图表显示的目的,但当Excel图表作为对象内嵌到PPT后,在PPT播放模式下,所有在Excel对象中的控件都是不可选的,只能在PPT的编辑模式下双击对象后在Application.Excel...
研究生组会ppt模板 从上述文件信息中,我们可以提取出以下几个重要的知识点: 一、PPT模板的基本结构 从文件中,我们可以看到PPT模板的基本结构主要包括:标题、目录、工作概述、工作完成进度、工作存在不足、...
交通大学传热学-chap2-2.ppt 交通大学传热学-chap2-3.ppt 交通大学传热学-chap3.ppt 交通大学传热学-chap4.ppt 交通大学传热学-chap5-1.ppt 交通大学传热学-chap5-2.ppt 交通大学传热学6-1.ppt 交通大学传热学6-2....
计算机毕业设计答辩PPT模板(11套) 计算机毕业设计答辩PPT模板(11套) 计算机毕业设计答辩PPT模板(11套) 计算机毕业设计答辩PPT模板(11套) 计算机毕业设计答辩PPT模板(11套) 计算机毕业设计答辩PPT模板...
在IT行业中,PPT(PowerPoint)是一种广泛使用的演示文稿制作工具,尤其在商务、教育和各种报告中。"我的PPT模板"这个压缩包文件显然包含了精心收集和整理的PPT模板,旨在帮助用户快速创建专业且吸引人的演示文稿。...
标题中的“103套PPT模板.zip”表明这是一个包含多套PowerPoint模板的压缩文件,主要用于学术报告、答辩和经验分享等场合。PPT模板是预先设计好的演示文稿结构,用户可以按照模板的样式快速创建自己的幻灯片,节省...
标题中的“幻灯片ppt转scr屏保程序格式”指的是将PowerPoint(PPT)文件转换为屏幕保护程序(SCR)格式的过程。在Windows操作系统中,屏幕保护程序是一种特殊类型的可执行文件,当电脑长时间未使用时,可以自动运行...
3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份ppt模板PPT模板.txt3000份...
标题中的“程序员年终总结PPT模板”意味着这是一个专门为程序员设计的、用于年终总结报告的PowerPoint(PPT)模板集合。这种模板通常包含了一系列精心设计的幻灯片布局,可以帮助程序员们有效地展示他们在过去一年的...
在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 中实现PPT播放功能,同时具备前后翻页的功能。WPF是微软提供的一种用于构建桌面应用的UI框架,它提供了丰富的图形渲染能力和灵活的布局系统,...
软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试 ppt软件测试...