日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Jasperreports5.6支持PDF微软雅黑字体

發布時間:2023/12/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jasperreports5.6支持PDF微软雅黑字体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Jasperreports5.6支持PDF微軟雅黑字體

最近在開發需求時遇到一個問題,在打印標簽時候要求,使用微軟雅黑字體打印貨物標簽,在Jasperreports中使用微軟雅黑字體顯示正常,但是在瀏覽器中卻不能正常顯示

  • Jasperreport中顯示如下

  • 在瀏覽器中顯示如下

    默認值顯示宋體,如果更換為其他字體則無法正常顯示

網上解決PDF導出中文顯示問題相關的文章很多,無非就是設置控件的pdf font name和pdf encoding屬性,但是在5.6中都已經被棄用了(不推薦)。并且原來的解決方案還存在兩個問題:(1)預覽的字體通常不是STSong-Light, 這會導致預覽字體與導出到PDF不一致。(2)當字符串中既有字母又有漢字的時候,導出的PDF可能莫名的換行。本文就介紹一種完美的解決方案,既保持一致性,也不會出現換行問題。

Pdf Font name is now deprecated. You should use a Font extension when using a not standard font. See Tools->Options->Fonts. STSong-Light

根據這個提示猜測到可能需要安裝字體

接下來就按照提示信息,下載所需的字體,我下載的是微軟雅黑的
下載地址:https://download.csdn.net/download/weixin_43159039/12673117

接下來就是安裝字體了
選擇工具->選項->Fonts

選擇剛剛下載的字體,點擊下一步

選擇粗體對應的字體文件

最終如下圖

點擊完成就安裝完成了

安裝完成之后就會在ireport項目fonts目錄下出現字體文件
我的電腦目錄為 D:\安裝包\iReport-5.6.0\iReport-5.6.0\ireport\fonts,根據實際情況查看
我們會發現新增2個文件,然后irfonts.xml文件也發生了修改
里面的內容變為了

<?xml version="1.0" encoding="UTF-8"?><fontFamilies><fontFamily name="&#24494;&#36719;&#38597;&#40657;"><normal><![CDATA[msyh.ttf]]></normal><bold><![CDATA[msyhbd.ttf]]></bold><pdfEncoding><![CDATA[Identity-H]]></pdfEncoding><pdfEmbedded><![CDATA[true]]></pdfEmbedded></fontFamily></fontFamilies>

此時只是在我們的ireport編輯器中生效
如果想在項目中使用就必須吧字體生成jar文件,放在項目的WEB-INF/lib文件夾下

選擇iReport的安裝目錄,選擇fonts目錄,命令行切換到該目錄,執行命令

jar cf msyh.jar *

最快的方式則是直接在文件夾地址欄出入cmd

執行之后就在此文件下生成了一個msyh.jar
然后將此jar放入項目中

  • tomcat服務中直接放入 apache-tomcat/webapps/項目/WEB-INF/lib中
  • 如果是eclipse則直接放入/WEB-INF/lib 或者引入到classpath中就可以

存在問題

  • 使用此方法會導致原本的換行功能出現問題

如果你覺得以上特別步驟特別復雜,也可以直接使用我生成好的jar包
地址為:https://download.csdn.net/download/weixin_43159039/12673157

總結

以上是生活随笔為你收集整理的Jasperreports5.6支持PDF微软雅黑字体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。