2011-11-10 110 views
5

我有一個JasperReport模板(在服務器上生成)與風格文本框(RTF)。該字段的內容是用戶生成的,因此它可以包含安裝在客戶端PC上的所有字體(稱爲字體X)。如果我現在生成一個服務器上的報告,沒有字體X,所以我想要將所有未知的字體替換爲字體Y.JasperReports默認字體

但我得到的是一個錯誤,找不到字體。一般不需要關閉字體檢查的功能(net.sf.jasperreports.awt.ignore.missing.font),因爲我希望檢查jrxml的字體。

有沒有辦法設置一個默認字體(沒有修改Jasper Source)? (我已經在JRStyledText或JRTextUtil找到了一些點)。

回答

6

您可以嘗試使用net.sf.jasperreports.default.font.name屬性。您可以使用default style

<style name="Base" isDefault="true" ...> 

欲瞭解更多詳情,您可以閱讀該article,該Default Fonts and Inheritance部分。

更新:

JasperReports的終極指南報價:

我們強烈鼓勵人們在其報告中只使用字體此 在字體擴展提供。這是確保 字體在運行時執行時報告爲 時可用於此應用程序的唯一方法。使用系統字體總是會帶來 未安裝這些字體的機器上部署的報告無法正常工作的風險。

jeah心中已經已經設置該屬性,但我仍然有禁用ignore.missing.font
+0

... 有沒有辦法忽略只在特定領域缺少的字體? – itshorty

+0

@itshorty你的問題是什麼?我認爲它是:'有沒有設置默認字體的方法... ... –

+0

是的,但保持ignore.missing.font啓用... 只有一個字段不是總是可用的,所以我想轉關閉字體檢查僅適用於此字段。 – itshorty