ireport 3.6.0 增加PDF字体、加粗失效、PDF中文不显示等问题

本文介绍了在使用iReport 3.6.0时遇到的PDF中文不显示、加粗效果失效等问题。解决方法包括在iReport中引用系统字体、配置fontpath,以及在JAVA Web项目中处理字体引用的方式,特别是针对3.7版以后的版本需要将字体打包进jar。通过这些步骤,可以确保PDF正确显示中文并实现加粗效果。
摘要由CSDN通过智能技术生成

ireport 3.6.0 增加PDF字体、加粗失效、PDF中文不显示等问题

现象是在ireport设计器中预览,加粗正常,但是生成的PDF显示时,中文没有加粗效果,PDF默认的显示中文使用的字体是
在这里插入图片描述

因自带字体库中字体太少,需要增加字体
因主要想实现加粗效果,所以选用黑体,需要其他字体需要单独下截
在我们的电脑中,自带了一些,可以使用
位置:C:\Windows\Fonts
找到字体 黑体.ttf文件
一 在ireport中引用字体
1 先将字体放到安装路径的下图位置中
2 菜单栏->工具—>选项->classpath
在这里插入图片描述

3 配置fontpath
在这里插入图片描述

二 PDF中文不显示
同上,只是引入的不是字体,换成itextasian jar包
再选择一开始提到的默认中文要用的字体,就会显示中文

三 JAVAweb 项目中针对单独引入的字体如何使用呢
如果你是web应用,在ireport3.6之前可以把pdf使用的字体放到项目的src或classes下即可(也可放在SRC的某包下,report的配置文件配置好相应路径即可),3.7之后需要把字体打成jar包才行,打JAR包百度
这一句非常关键,就是有了字体不知该放哪里才能被.jrxml的pdfFontName识别

Report 配置文件中这样写,因需要发布到linux 所以使用/
在这里插入图片描述

四、示例

调整前
在这里插入图片描述

调整后
在这里插入图片描述

 
 <?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report-3.6.0" pageWidth="226" pageHeight="113" whenNoDataType="AllSectionsNoDetail" columnWidth="222" leftMargin="2" rightMargin="2" topMargin="2" bottomMargin="2">
	<parameter name="bjduig" class="java.lang.String">
		<parameterDescription><![CDATA[堆高]]></parameterDescription>
	</parameter>
	<parameter name="bjxszx" class="java.lang.String">
		<parameterDescription><![CDATA[最小包装量]]></parameterDescription>
	</parameter>
	<parameter name="bjzwmc" class="java.lang.String">
		<parameterDescription><![CDATA[配件名称]]></parameterDescription>
		<defaultValueExpression><![CDATA[]]></defaultValueExpression>
	</parameter>
	<parameter name="bjxmbh" class="java.lang.String">
		<parameterDescription><![CDATA[配件编号]]></parameterDescription>
	</parameter>
	<parameter name="bktxmh" class="java.lang.String">
		<parameterDescription><![CDATA[条码]]></parameterDescription>
	</parameter>
	<parameter name="showdate" class="java.lang.String">
		<parameterDescription><![CDATA[日期]]>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值