Jasper Report中文設置粗體的方法

  Jasper Report中文設置粗體樣式之后在列印時并沒有顯示粗體效果,網上查了該問題的原因是 Jasper Report對中文字體的參數并沒有接受,一種方法就是改變源代碼,另外一種方式就在調用的時候用JAVA注入樣式效果;方法如下:
首先在Ireport需要顯示 正楷體 “我們”分別用粗體,正常體顯示,因此我們將需要設置粗體的我們TEXT FIELD字體設置一個另外的字體,這里我們選擇了ARIAL NARROW字體接著用Ireport編譯即可,接著貼一段我的源代碼:

 
public   void  onFont()  {
  WebApp app 
= this.getDesktop().getWebApp();
  InputStream inputStream 
= app.getResourceAsStream("/Rpt/dtd.jasper");
  JasperPrint jasperPrint;
  
try {
   jasperPrint 
= JasperFillManager.fillReport(inputStream,new HashMap(), new JREmptyDataSource());
   JRPdfExporter exporter 
= new JRPdfExporter();
   Map fontsMap 
= new HashMap();
   fontsMap.put(
new FontKey("Arial Narrow"truefalse), new PdfFont(
     
"c:/kaiu.ttf""Identity-H"falsetruefalse));
   fontsMap.put(
new FontKey("標楷體"truefalse), new PdfFont(
     
"c:/kaiu.ttf""Identity-H"falsefalsefalse));//設置字體樣式
   exporter.setParameter(JRExporterParameter.FONT_MAP, fontsMap);
   exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
   FileOutputStream fos 
= new FileOutputStream("c:/test.pdf");
   exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, fos);
   exporter.exportReport();
  }
 catch (JRException e) {
   
// TODO Auto-generated catch block
   e.printStackTrace();
  }
 catch (FileNotFoundException e) {
   
// TODO Auto-generated catch block
   e.printStackTrace();
  }

 }


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值