- 浏览: 72635 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
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 498调用方法: @Autowired SchedulerFa ... -
java堆栈 (转)
2014-08-19 15:53 601http://blog.csdn.net/songjie52 ... -
下行处理(多线程)
2013-04-27 17:44 736下行处理(多线程) -
java调用.net下的msmq.zip
2013-04-27 16:42 712java调用.net下的msmq.zip -
Ant入门教程
2011-10-21 17:39 921一、构建ant环境 要使用ant首先要构建一个ant环境 ... -
windows xp下配置JDK环境变量
2011-10-21 17:01 11041.安装JDK,安装过程中 ... -
HTTP+POST+XML
2011-06-20 18:16 1322public static int sendRequest(S ... -
工具、技术总结
2011-06-14 09:37 978工具: 1.Axure RP Pro 5.6:制作demo用 ... -
使用 CXF 做 webservice 简单例子
2011-04-21 17:18 1686applicationContext-cxf.xml: ... -
json
2011-03-15 10:01 755private String toIndexInfoJson ... -
jfreechart
2011-02-14 14:16 1008action: package com.bplow.look ... -
上传下载文件--项目中的例子
2010-12-17 15:00 914//***************************** ... -
DES加密解密工具类
2010-12-14 16:34 1586package com.bplow.look.bass.uti ... -
cookie操作(下次自动登录功能)
2010-12-13 14:35 2382//判断是否是下次自动登录,是的话保存cookie ... -
java小知识点
2010-11-19 08:57 733\n:回车+换行 \r:回车 简单来说,就是\n把光标 ... -
apache svn地址
2010-11-12 16:26 1229http://svn.apache.org/repos/asf ... -
dom4j例子Document
2010-11-08 14:22 960import 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...
在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软件测试...
HSK1第10课.ppt HSK1第11课.ppt HSK1第12课.ppt HSK1第13课.ppt HSK1第14课.ppt HSK1第15课.ppt HSK1第1课.ppt HSK1第2课.ppt HSK1第3课.ppt HSK1第4课.ppt HSK1第5课.ppt HSK1第6课.ppt HSK1第7课.ppt HSK1第8课....