日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包

發布時間:2023/12/9 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JasperReport是一個純Java寫的開源免費報表工具庫,用于進行報表的設計

1.導入jasperreports依賴時,打印Cannot resolve com.lowagie:itext:2.1.7.js6異常

今天在使用Maven安裝jasperreports依賴時,控制臺始終打印Cannot resolve com.lowagie:itext:2.1.7.js6異常。具體依賴版本如下:

<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>6.8.0</version> </dependency>

解決辦法
思路:

  • 首先確定網絡正常,再到 Maven 倉庫 查看是否存在對應版本依賴。

  • 如果以上都沒問題,基本能確定自動下載不行,就手動下載安裝吧。

以下通過itext演示手動安裝

1、手動下載包到本地

使用JasperReports進行功能開發時會用到itext的jar包,但是這個jar是修改過的,一般為itext-2.1.7.js2.jar,itext-2.1.7.js6.jar等特殊版本,但是這些是maven倉庫下載不到的。
本人在http://jaspersoft.jfrog.io/jaspersoft/third-party-ce-artifacts/ 目錄下找到的相應的jar:

2.、安裝 jar 包進本地倉庫

安裝命令: mvn install:install-file -Dfile=G:/itext-2.1.7.js6.jar -DgroupId=com.lowagie -DartifactId=itext -Dversion=2.1.7.js6 -Dpackaging=jar

參數說明:

  • mvn install:install-file:安裝文件
  • -Dfile:待安裝包所在位置
  • -DgroupId:包的GroupId
  • -DartifactId:包的artifactId
  • -Dversion:包的version
  • -Dpackaging:包的文件類型

運行效果如下:

安裝成功后去本地倉庫即可查看到剛才安裝的 jar,回到項目刷新異常已消失。

注意:

錯誤想法,直接在本地建文件夾,讓目錄結構對應下載后的目錄結構,再把包拖進去,不就和通過安裝的效果一樣了,還更加簡單。想法很好,但 Maven 存在索引此操作并不行,因為我已經試過了

JasperReports依賴itext-2.1.7.js6.jar等下載
因 Cannot resolve com.lowagie:itext:2.1.7.js6,選擇手動安裝 Jar 包進 Maven 倉庫

2.生成PDF中文不顯示解決方法

JasperReport在用TIBCO Jaspersoft Studio進行報表設計的時候默認采用的字體是SansSerif,中文并不在其處理范圍之內。
下面的報表jrxml模板文件中可看到已經設置了華文宋體。

<staticText><reportElement x="20" y="7" width="68" height="32" uuid="c0240cf1-84c7-4197-b32e-dc59cbb77c66"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="華文宋體" size="19"/></textElement><text><![CDATA[姓名]]></text> </staticText>

報表模板文件中顯示設置中文字體,生成PDF文件的時候中文其實還是不會顯示,因為JasperRepeat的包中壓根就沒有華文宋體的字體庫STSONG.TTF,需要在工程中放入該字體庫,并配置JasperReport的字體模板fonts.xml,添加配置文件jasperreports_extension.properties指明字體處理工廠類和字體模板。
Windows操作系統中的字體文件可以在C:\Windows\Fonts目錄下找到,華文宋體的字體文件STSONG.TTF就在該目錄下面。
工程結構如下圖:

fonts.xml

<?xml version="1.0" encoding="UTF-8"?> <fontFamilies><fontFamily name="華文宋體"><normal>fonts/STSONG.TTF</normal><bold>fonts/STSONG.TTF</bold><italic>fonts/STSONG.TTF</italic><boldItalic>fonts/STSONG.TTF</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded><exportFonts><export key="net.sf.jasperreports.html">'華文宋體', Arial, Helvetica, sans-serif</export><export key="net.sf.jasperreports.xhtml">'華文宋體', Arial, Helvetica, sans-serif</export></exportFonts></fontFamily> </fontFamilies>

jasperreports_extension.properties

net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory net.sf.jasperreports.extension.simple.font.families.lobstertwo=fonts/fonts.xml

經過上述處理后,再生成PDF文件,中文已經可以正常顯示了。

JasperReport生成PDF中文不顯示處理

總結

以上是生活随笔為你收集整理的导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包的全部內容,希望文章能夠幫你解決所遇到的問題。

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