jasper iReport 插入图片问题
网摘一
问题:
我插入图片之后,将$P{url}(我新建的一个变量)作为图片路径,然后再jsp里面传递了一个全路径进去,但是无法显示,请问各位大虾,这是为什么呢?求教完整的解决办法,谢谢!!!!!
解答:
看了一些别的资料,解决了
如下:
File reportFile = new File(application.getRealPath("reports/picture.jasper"));
Map parameters = new HashMap();
parameters.put("path",".//");
parameters.put("images_paths",request.getRealPath("/reports/images/")+"/");
parameters.put("url","tomcat-power.gif");
parameters.put("SUBREPORT_DIR",request.getRealPath("/reports/")+"/");
//这一个是为子报表设置路径,如果创建子报表,一般会自动创建一个SUBREPORT_DIR变量,如果没有,那么就手动创建
JasperReport report=(JasperReport)JRLoader.loadObject(reportFile.getAbsolutePath());
JRHtmlExporter exporter=null;exporter = new JRHtmlExporter();StringBuffer sbuffer = new StringBuffer();Map imagesMap = new HashMap(); //重要的解析开始 JasperPrint jasperPrint=JasperFillManager.fillReport(report, parameters,sqlCon); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);//exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "GBK");exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "./reports/images/"); exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME,request.getRealPath("/reports/images")+"//");
//设置允许输出图片exporter.setParameter(JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR,Boolean.TRUE);exporter.setParameter(JRHtmlExporterParameter.SIZE_UNIT,"pt");exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN,Boolean.FALSE);exporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);exporter.exportReport();
我在报表里面为图片设置了3个变量,分别是:url,path,images_paths
url默认为 new String("hi.gif")
path 默认为".//"
images_paths默认设置为new String("C://")
然后在图片的属性的“Image”下将其路径设置为“$P{images_paths}+$P{url}”
以Tomcat服务器,cre这个工程为例,cre放在服务器根目录下面,JavaBean的包放在webapps/ROOT/cre/WEB-INF/classes下面。将字报表放在工程reports目录下面,即/webapps/ROOT/cre/下面。将图片放在/reports/images目录下面。
特殊情况下,如果还是找不到字报表或者图片,请将reports文件夹放到/webapps/ROOT下面,JavaBean的包放在webapps/ROOT/WEB-INF/classes下面。
网摘二
我在ireport设计的时候,内嵌有网站logo图和一个条形码,结果调试的时候,图形都无法显示,查了网上资料才知道是
request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
需要把jasperPrint放入session,这样,ireport的图片显示服务器才能访问jasperPrint对象,显示出相应的图像出来
ireport显示外部图片的具体步骤:
1.在web-bin设置ireport图片显示服务:
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlets/image</url-pattern>
</servlet-mapping>
2.设置ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTEsession
request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,jasperPrint);
3.设置图片servlet服务的路径:
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"/servlets/image?image=");
网摘三
例如:数据库图片字段PICTURE_ATTACH类型为blob,在邦定字段时,
设置ireport中字段(Fields)PICTURE_ATTACH属性:
该字段类型 Field Class设置为 java.io.InputStream
然后添加一个图片来显示该图片字段,选择图片,设置属性:
属性image expression设置为 $F{PICTURE_ATTACH}
属性Expression class 设置为java.io.InputStream
Jasperreport 导出pdf 粗体,宋体,黑体字体设置
1.为了显示中文,需要在ireport中设置文本属性:
font中选中宋体,
pdf font 选中strong-light,
pdf-encode 选中 UniGB-UCS2-H (Chinese Simplified)
Pdf Embedded true
2.在导出pdf时,需要宋体或黑体中文加粗或斜体时需要设置如下
Map fontMap = new HashMap();
// 宋体,加粗,非斜体的参数设置,宋体不需要引入字体文件,如果需要斜体的话,把false值变为true即可
fontMap.put(new FontKey("宋体", true, false), new PdfFont("STSong-Light","UniGB-UCS2-H", true, true, false));
//黑体的话,在ireport的Font中选中黑体,加粗,还要引入字体文件simhei.ttf,该文件可从C:\WINDOWS\Fonts中获得
FontKey key = new FontKey("黑体", true, false); //黑体,true表示加粗,false表示非斜体,如果需要变为斜体,只需变为true即可
PdfFont font = new PdfFont("c:\\simhei.ttf" "Identity-H", true, true, false); //该false值表示非斜体,如果需要变为斜体,只需变为true即可
fontMap.put(key, font);
exporter.setParameter(JRExporterParameter.FONT_MAP, fontMap);
jasperrepor导出大数据量数据时,减小占用大量内存实现方法如下:
//report virtualizer"可以用来序列化临时数据到硬盘上来优化内存的使用.
//第一个参数2表示放入内存中的页数,如果超过2页,第3页以后的数据,都会放到硬盘的文件夹/reports/tmp下,
//第二个参数表示临时文件存放的目录
JRFileVirtualizer virtualizer = new JRFileVirtualizer(2, sc.getRealPath("/reports/tmp"));
//设置该参数
parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
jasperPrint = JasperFillManager.fillReport(jasperReport,parameters, dataSource);
jasper iReport 插入图片问题相关推荐
- 如何在notebook中的markdown中插入截取的图片_96编辑器教你如何在文章中插入图片、视频、音频!...
一.如何插入图片 注意事项: 1.上传的每张图片大小请勿超过2M.如果文章内需要插入数量较多的图片,请先压缩每张图片至100kb左右,如果文章内插入较多的大图片可能会造成同步慢.生成不了图片,文章页面 ...
- 解决Chrome中UEditor插入图片的选择框加载过慢问题
解决Chrome中UEditor插入图片的选择框加载过慢问题 ../resources/plugins/ueditor/ueditor.all.js 中line24489/24498中的 accept ...
- winform剪贴板如何同时存储图片和文字_你真的会在Word里插入图片吗?没那么简单!...
点击上方[word精品教程]-右上角[...]-[设为星标⭐] 即可第一时间获取最新办公资讯 作者:Cxiaon 来源:松鼠App推荐站(ID:TuoYanSS) 今天来讲讲图片插入,经常会遇到一种 ...
- R语言ggplot2可视化在可视化的接种中插入图片、添加图片实战
R语言ggplot2可视化在可视化的接种中插入图片.添加图片实战 目录 R语言ggplot2可视化在可视化的接种中插入图片.添加图片实战
- jupyter notebook 插入图片
jupyter notebook 插入图片
- Java Excel 插入图片
在POI中有HSSFPatriarch对象,该对象为画图的顶级管理器,它的createPicture(anchor, pictureIndex)方法就能够在Excel插入一张图片.所以要在Excel中 ...
- 关于“插入图片”等功能无法使用的问题
之前一直没注意,我本身也很少使用上传图片等功能,最近才发现用IE时无法使用BLOG里的"插入图片"等功能,点 "插入图片"或者"表情"时,浏 ...
- 关于改进插入图片功能的想法
现在插入的图片都放在一个公有的文件夹中,当图片很多时,就会产生混乱,也不方便.我想增加这样一个功能,每个用户都一个自己的图片库,插入图片时,只能选用自己的图片. 大家觉得需要这样的功能吗?
- Python Excel操作模块XlsxWriter之插入图片worksheet.insert_image
worksheet.insert_image() insert_image(row, col, image[, options]) 在工作表单元格中插入一张图片. 参数: row(int) - 单元格 ...
最新文章
- 树套树 ----- P1975 [国家集训队]排队(树状数组套权值线段树求动态逆序对)
- 谈谈基于OAuth 2.0的第三方认证 [上篇]
- 二十二、redis持久化之AOF
- php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
- PowerDesigner导入MySQL数据库表
- 20165214 预备作业3 Linux安装及学习
- python rsa加密长度_python RSA加密最新(RSA/ECB/PKCS1Padding)
- 阿里晓斌:如何做好技术 Team Leader?
- Wireshark使用入门
- CSS3 控制Tab宽度 tab-size属性
- [BZOJ4987]Tree
- java jdbc jar包_大数据从入门到深入:JavaEE 之 数据库技术 JDBC(1)
- 没有基础的人可以学python吗-无基础可以学习Python吗?
- FastReport使用一——简介
- 单片机C语言程序设计心得,单片机课程设计心得体会
- HttpSession对象
- clang-format的使用
- 机器人建模中移动关节如何建立坐标系_解析:四轴机器人和六轴机器人有什么区别?---徕深科技...
- 多商户商城系统功能拆解24讲-平台端分销会员
- 利用沪江小D做个词典小工具
热门文章
- 手把手带你用next搭建一个完善的react服务端渲染项目(集成antd、redux、样式解决方案)
- Echarts关系图的例子
- java法师逃离_本性法师:逃离复杂 奔向简单的人生
- ?selectableItemBackground 水波纹效果
- 软银靠贝壳结束“水逆”,顶级投行们仍是投资者的“引路人”?
- 拒绝软银收购选择IPO 亏损收窄的Wework未来发展会如何?
- Wannafly挑战赛26-B	冥土追魂
- YOLOv5调用IP摄像头
- 批处理文件获取本机mac地址与ip地址
- <Zhuuu_ZZ>HIVE(十一)函数