网摘一

问题:

我插入图片之后,将$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 插入图片问题相关推荐

  1. 如何在notebook中的markdown中插入截取的图片_96编辑器教你如何在文章中插入图片、视频、音频!...

    一.如何插入图片 注意事项: 1.上传的每张图片大小请勿超过2M.如果文章内需要插入数量较多的图片,请先压缩每张图片至100kb左右,如果文章内插入较多的大图片可能会造成同步慢.生成不了图片,文章页面 ...

  2. 解决Chrome中UEditor插入图片的选择框加载过慢问题

    解决Chrome中UEditor插入图片的选择框加载过慢问题 ../resources/plugins/ueditor/ueditor.all.js 中line24489/24498中的 accept ...

  3. winform剪贴板如何同时存储图片和文字_你真的会在Word里插入图片吗?没那么简单!...

    点击上方[word精品教程]-右上角[...]-[设为星标⭐] 即可第一时间获取最新办公资讯 作者:Cxiaon  来源:松鼠App推荐站(ID:TuoYanSS) 今天来讲讲图片插入,经常会遇到一种 ...

  4. R语言ggplot2可视化在可视化的接种中插入图片、添加图片实战

    R语言ggplot2可视化在可视化的接种中插入图片.添加图片实战 目录 R语言ggplot2可视化在可视化的接种中插入图片.添加图片实战

  5. jupyter notebook 插入图片

    jupyter notebook 插入图片

  6. Java Excel 插入图片

    在POI中有HSSFPatriarch对象,该对象为画图的顶级管理器,它的createPicture(anchor, pictureIndex)方法就能够在Excel插入一张图片.所以要在Excel中 ...

  7. 关于“插入图片”等功能无法使用的问题

    之前一直没注意,我本身也很少使用上传图片等功能,最近才发现用IE时无法使用BLOG里的"插入图片"等功能,点 "插入图片"或者"表情"时,浏 ...

  8. 关于改进插入图片功能的想法

    现在插入的图片都放在一个公有的文件夹中,当图片很多时,就会产生混乱,也不方便.我想增加这样一个功能,每个用户都一个自己的图片库,插入图片时,只能选用自己的图片. 大家觉得需要这样的功能吗?

  9. Python Excel操作模块XlsxWriter之插入图片worksheet.insert_image

    worksheet.insert_image() insert_image(row, col, image[, options]) 在工作表单元格中插入一张图片. 参数: row(int) - 单元格 ...

最新文章

  1. 树套树 ----- P1975 [国家集训队]排队(树状数组套权值线段树求动态逆序对)
  2. 谈谈基于OAuth 2.0的第三方认证 [上篇]
  3. 二十二、redis持久化之AOF
  4. php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
  5. PowerDesigner导入MySQL数据库表
  6. 20165214 预备作业3 Linux安装及学习
  7. python rsa加密长度_python RSA加密最新(RSA/ECB/PKCS1Padding)
  8. 阿里晓斌:如何做好技术 Team Leader?
  9. Wireshark使用入门
  10. CSS3 控制Tab宽度 tab-size属性
  11. [BZOJ4987]Tree
  12. java jdbc jar包_大数据从入门到深入:JavaEE 之 数据库技术 JDBC(1)
  13. 没有基础的人可以学python吗-无基础可以学习Python吗?
  14. FastReport使用一——简介
  15. 单片机C语言程序设计心得,单片机课程设计心得体会
  16. HttpSession对象
  17. clang-format的使用
  18. 机器人建模中移动关节如何建立坐标系_解析:四轴机器人和六轴机器人有什么区别?---徕深科技...
  19. 多商户商城系统功能拆解24讲-平台端分销会员
  20. 利用沪江小D做个词典小工具

热门文章

  1. 手把手带你用next搭建一个完善的react服务端渲染项目(集成antd、redux、样式解决方案)
  2. Echarts关系图的例子
  3. java法师逃离_本性法师:逃离复杂 奔向简单的人生
  4. ?selectableItemBackground 水波纹效果
  5. 软银靠贝壳结束“水逆”,顶级投行们仍是投资者的“引路人”?
  6. 拒绝软银收购选择IPO 亏损收窄的Wework未来发展会如何?
  7. Wannafly挑战赛26-B 冥土追魂
  8. YOLOv5调用IP摄像头
  9. 批处理文件获取本机mac地址与ip地址
  10. <Zhuuu_ZZ>HIVE(十一)函数