最近一直在做报表,用的是iReport3.7.3和jasperReport3.7.3,在导出pdf形式的报表时,文字的粗体效果出不来,
弄了大半天,查阅了很多资料,试了很多种方法,效果都不理想。下面总结一下:
1.修改jasperreports-3.7.3.jar包的JRPdfExporter的源码这种方法网上到处都是,但我没试过,不知道是否可行,因为我反编译出来的源码有大量的错误,下载的一个编译器
也用不了,并且网上说的这种方法的版本和我用的版本不一致,代码也略有不同,感兴趣的可以去试一下。

2.在程序中设置字体
Map fontsMap = new HashMap();
fontsMap.put(new FontKey("黑体", true, false), new PdfFont("simhei.ttf", "Identity-H", true, true, false));
pdfExporter.setParameter(JRExporterParameter.FONT_MAP, fontsMap);
其中,simhei.ttf这个就是粗体的字体,在C:\WINDOWS\Fonts下可以找到,把这个文件copy到项目的classpath下,接着修改jrxml源文件,把pdfFontName="STSong-Light"改为:pdfFontName="simhei.ttf"。我在用iReport设计报表时,把pdfFontName="STSong-Light",pdfEncoding="Identity-H",因为iReport默认的字体中并没有simhei.ttf这种字体,只能在jrxml文件中修改。Pdf Encoding一定要选上Identity-H,否则不会出现粗体,这是
iText.jar这个包的问题。
这样在生成pdf形式的报表时就可以看到粗体效果了。但是,这种方法对于有子报表的报表有点麻烦,因为生成报表时,主报表直接依赖的是子报表的jasper文件而不是jrxml文件,我用的子报表一般都是在iReport中预编译得到jasper文件,如果想让子报表也出现粗体效果,你只能在程序中去单独编译子报表的jrxml文件来得到jasper文件,再把这个jasper文件添加到项目中。

3.为iReport添加simhei.ttf字体(推荐)
2中说到,iReport默认的字体中并没有simhei.ttf这种字体,所以可以为iReport添加这种字体。我个人觉得这个方法是最有效的。为iReport添加这种字体后,你所有的报表都可以用这种字体了,不需要修改jrxml文件也不用在程序中设置。
过程如下:在iReport的主界面,点击“工具”-->“选项”-->“Fonts”-->“Install Font”
然后选择simhei.ttf文件所在的路径,这个文件最好放在classpath下;
然后输入Family Name,也可以用默认的,在Font details框中,有一个“Bold”输入框,再次选择simhei.ttf文件所在的路径,(斜体也是一样的);
在PDF details框中,PDF Encoding选择Identity-H,勾上“Embed this font in the PDF document”,下一步直至完成。
重启iReport,设计报表时,把需要粗体效果的文本选上上面设置的字体就可以了。

强烈推荐第三种方法,只要设置一次,以后用这个iReport设计的报表都可以显示粗体了,斜体也是一样的,不需要改jar包,程序和jrxml文件。

jasperreports导出pdf报表时粗体的显示问题相关推荐

  1. java jasperReports导出PDF字体加粗失效,中文显示不出来

    最近搞了一个项目,需要生成投保电子凭证的pdf文件,之前在项目也用了这个组件,只是很多年前别人开发的,我只是项目负责人而已,想起以前的项目就找了ireport这个做为生成pdf的工具.一开始捣鼓了好久 ...

  2. Jasper(2)——简单使用导出PDF报表

    接着上一次所说的,没看过的可跳转 Jasper(1)--入门 第一阶段:初步导出PDF Jasper报表设计 点击 Static Text,并拖动到 title 位置 然后双击此框,根据需要修改,可看 ...

  3. CAD导出PDF线条很粗怎样设置?

    CAD导出PDF后线条很粗怎样办?经常会有小伙伴遇到这个问题,本节CAD教程小编就来给大家分享一下CAD导出PDF后线条很粗的解决办法,感兴趣的话就和小编一起来简单了解一下吧! CAD导出PDF线条很 ...

  4. 关于RDLC使用导出PDF文件时,中文乱码解决方案

    MicrosftReportViewer控件导出乱码,主要需要设置的是RDCL文件: 关于使用RDLC导出PDF文件时,中文出现乱码现象,本文进行了解决: 其实很简单. 本人平台情况VS2008 英文 ...

  5. Tableau自动导出pdf报表作为附件自动发送邮件-BI自动化。

    一.目的: 1.每天定时从tableau导出pdf报表 2.每天自动定时发送邮件 二.实现的过程: 1.首先利用windows自带的记事本写好bat批处理文件,更多tableau可以看tableau ...

  6. 导出pdf文件时加图片水印

    前言:本文探讨的是利用pageEvent事件在生成PDF文件的过程中把图片水印加好,这样导出的是加好水印的pdf文件. 1:加入依赖 <!--导出pdf相关--><dependenc ...

  7. 【PPT】PPT文档导出PDF文件时,去掉右上角时间

    PPT文档需要导出为PDF文件时,右上角页眉会出现时间戳,有时候不需要时间,如何去掉时间戳呢? Win10+Office2019 当需要将多页PPT打印在一张纸上时,右上角页眉会自动出现当前时间戳20 ...

  8. CoreIDRAW导出PDF文件时出现部分内容不显示、空白的问题解决方法。

    遇到问题: 在使用CoreIDRAW制作归档文件时,导出PDF文件后出现了部分内容不显示.空白的问题.我的设计是两页BOM表格与一页PCB丝印图.在使用"发布至PDF"导出PDF文 ...

  9. Java中导入/导出excel,导出pdf报表信息

    1.项目中经常需要用到报表生成,信息导入数据库的功能.主要有以下几种. 2.其中比较简单的是 外部数据无需处理直接 导入数据库中,这种比较简单.直接利用Navicat数据库工具 导入外部.示例如下 1 ...

最新文章

  1. 如何获得images.xcassets 中图片的路径?
  2. Nginx HTTP 负载均衡和反向代理
  3. 暂无,进程那篇深度不够
  4. DFT命令脚本系列1-
  5. (建议收藏)matlab在线性代数问题中的计算机求解进阶问题及解决方案集锦
  6. 渗透测试之地基服务篇:服务攻防之中间件JBoss
  7. 温故而知新!这篇文章可以满足你80%日常工作!面试真题解析
  8. java 类集合_java集合类详解
  9. java流数据base64,Base64数据的流解码
  10. datagrid数据导出到excel文件给客户端下载的几种方法
  11. Spark源码阅读环境搭建
  12. zendstudio 的使用过程中出现 Editor could not be initialized. 的问题
  13. Java中的hashCode和equals的解析
  14. WMware15和虚拟机Win10镜像文件网盘分享
  15. 网络虚拟化之虚拟交换机技术Linux Bridge
  16. 计算机一级B考试总结500字,第一次月考总结与反思500字
  17. python画大对勾_多种方法告诉你!Word如何在方框中打对勾√和叉叉×
  18. echarts折线图鼠标移入页面出现抖动
  19. Oracle中的序列,同义词
  20. HDRP UI上渲染模型的解决方式及常见问题

热门文章

  1. 比较普遍的C语言游戏
  2. MySQL常用增删改查语法命令
  3. 奥特曼打小怪兽python代码简单版_奥特曼打小怪兽
  4. 520条短信,对不起,我爱你
  5. android studio : 编码GBK的不可映射字符
  6. 西门子S7-1200数据处理指令应用|阶段性题目
  7. Excel技巧—轻松搞定各种表头
  8. Markdown骚操作|字体颜色、字体背景、流程图一网打尽【建议收藏】
  9. NTC 测取温度(方法二)
  10. LDO客户应用问题-持续更新