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[日期]]>