Jasperreports PDF 货币符号 中文不能显示

一、使用自带的字体

1. 在web项目的lib中加入iTextAsian.jar包, 不加会有Exception

2. 在jrxml中加入如下代码

    <style name="STSong" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H"     isPdfEmbedded="true"/>

   在相应的textField指定style为"STSong"

注意: 在文件中测试直接输入中文,有时也会不显示。 是由于输入字符的编码问题,但没有找到解决方案。 但通过程序将中文内容传入报表,可以显示。

二、使用自定义字体

1. 将字体通过iReport工具Option- Font - install Font - Export as extension 打成jar包,将jar包放在web项目lib下

2. 在jrxml中如下代码这里使用stsong

<style  pdfFontName="fonts/stsong.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/>

3. 在自定义字体时实现bold,italic 不能通过

<style isBold="true" isItalic="true" pdfFontName="fonts/stsong.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/>的方式,而需要通过制定stsong的bold字体

<style  pdfFontName="fonts/stsong-Bold.ttf" pdfEncoding="Identity-H" isPdfEmbedded="true"/>

三、 使用windows系统字体

1. 通过设置textField的字体来解决乱码,如<font fontName="Batang"/> 就能显示中文等字符了。

项目中需要显示很多国家的Currency Symbol, 后来找到一个字体叫 Batang.ttf/DejaVuSans.ttf 能支持'₩'

猜你喜欢

转载自kooii.iteye.com/blog/1724533