当前位置: 首页 > news >正文

jasperreport ireport PDF中文字体完美解决方案

1.将iTextAsian.jar复制到iReport安装目录\ireport\libs下,运行iReport,工具-->选项-->iReport:Classpath中,将iTextAsian.jar包导入。

Jasperreport+iReport生成PDF字体问题
完成后,在属性里面设置Pdf font name: STSong-Light; pdf Encoding=UniGB-UCS2-H;(PdfEmbedded复选框选不选上都一样),一般的中文字体就可以在pdf中正常显示了。注意:虽然在iReport3.7中,PDF font name和pdfEncoding两个属性已被声明过时(Deprecated),但实际上还是必须得设置正确,否则编译任然出错

2.项目中还需要用到宋体之外的字体,即黑体和华文新魏(iReport中默认有这些字体,但却不能用于pdf中,在PDFFontname下就只有STSong-Light可用,而且加粗、斜体等效果在pdf中都无效),则做好上述设置之后,还需要在做如下设置:

 1)将要用的字体文件拷贝到安装目录\ireport\fonts 中。

 2)工具-->选项-->iReport:Classpath中,将刚才的字体目录引入。

Jasperreport+iReport生成PDF字体问题

 3)工具-->选项-->iReport:Fonts中,将刚才的字体目录和包引入。Jasperreport+iReport生成PDF字体问题

 4)完成后,重启一下iReport,在文字属性中的Pdf fontname中就可以看到相应的名字,选择字体后,设置Pdf Embedded打勾和PdfEncoding为Identity-H(Unicode with horizontalwriting),在iReport中预览(用Adobe pdfReader预览)可以看到一切都OK了,iReport配置完毕。

3.用Jasperreport生成报表还有一个问题,项目找不到字体,会一直抛异常,解决方法如下:

 1)将刚才iReport中引入的fonts文件夹复制到项目的根目录下。

 2)右键点自己项目-Properties-JavaBuild Path,选Libraries选项卡,点Add ClassFolder,选择刚才复制进来的fonts文件夹,点OK。

最重要的一点,别忘了先确保要安装的字体在本机上必须先安装,即把ttf字体文件拷贝到C:\Windows\Fonts目录下,保证文件名称都一致即可。

对于一些特殊字体,在部署到其他客户端时候比较麻烦,那么,我们就可以只把我们用到的字体做成一个jar包,注意不要把文件夹打包成jar包,这样myeclipse是会报错的,应该直接把那些ttf文件直接打包成jar包,build path连接到MyEclipse,就没问题了

相关文章:

  • iReport+jasperreport创建子表的几种方式(1)
  • iReport连接Mysql创建图表报表
  • iReport+jasperreport创建子表的几种方式(2)
  • Jasperreports导出PDF、web上html的几个实用连接
  • 关于Unity3D中的UnitySendMessage方法的使用!!!
  • Unity3D如何读取保存XML,以及用U3D内置方式保存文件
  • unity3D调用外接摄像头,保存图片、不使用截屏方式
  • Unity3D中Find的用法
  • Unity3D中世界坐标转换到NGUI坐标
  • Window8.1+VS2013+Python+cocos2d-x-3.2
  • Java环境配置好之后,cnd窗口Java可以执行,但是Javac不能执行
  • cocos2d-x import org.cocos2dx.lib cannot be resolved
  • C#字符串处理:裁剪,替换,移除
  • NGUI 创建自定义按钮并添加按钮响应
  • Metaio中关于镜像问题
  • [nginx文档翻译系列] 控制nginx
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【刷算法】求1+2+3+...+n
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • const let
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • gf框架之分页模块(五) - 自定义分页
  • Git 使用集
  • magento 货币换算
  • Python实现BT种子转化为磁力链接【实战】
  • Solarized Scheme
  • windows下使用nginx调试简介
  • 仿天猫超市收藏抛物线动画工具库
  • 分布式熔断降级平台aegis
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 每天10道Java面试题,跟我走,offer有!
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 排序算法之--选择排序
  • 少走弯路,给Java 1~5 年程序员的建议
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 中文输入法与React文本输入框的问题与解决方案
  • ​马来语翻译中文去哪比较好?
  • ​什么是bug?bug的源头在哪里?
  • ​一些不规范的GTID使用场景
  • #QT(TCP网络编程-服务端)
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (C++17) std算法之执行策略 execution
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转)拼包函数及网络封包的异常处理(含代码)
  • .NET Micro Framework初体验
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net网站发布-允许更新此预编译站点
  • /dev下添加设备节点的方法步骤(通过device_create)
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [8481302]博弈论 斯坦福game theory stanford week 1