2013-10-11 249 views
2

我正在編寫一些使用iReport 5.1.0JasperReports 5.0.0的報告。現在我的麻煩是大膽的風格沒有出現在PDF輸出中。如果我具有程式化文本(例如,"<b>My Text</b>"),則粗體部分在報告輸出中顯示爲粗體,但不顯示爲pdf。我可以在pdf中以粗體顯示的唯一方法是強制該元素的pdf字體爲粗體字體(例如,pdfFontName =「Helvetica-Bold」),但是粗體顯示整個字符串,並且不允許我通過風格標記<b>粗體格式在pdf輸出中不起作用

我導出PDF文件中這樣說:

JRPdfExporter exp = new JRPdfExporter(); 
exp.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, namefileToExport); 
exp.exportReport(); 

我該怎麼辦?

+1

你應該發佈* jrxml *文件 –

+0

你可以看看[樣式JasperReports中的文本字段](http://stackoverflow.com/q/8135215/876298)後 –

回答

-1

在您的文本字段中選擇標記爲html,並寫下你的文字。

"<b>" + "My" + "</b>" + "Text" 

要安裝新字體,您可以點擊此鏈接。 install new font

+0

已經完成,但沒有工作 – Skizzo

+0

然後你需要把jar文件的字體。 – user1791574

1

我剛纔有同樣的問題,只有我使用風格的標記,而不是HTML和this解決方案幫助我。

我只加這些4行生成報告嵌入字體成pdf之前:

DefaultJasperReportsContext context = DefaultJasperReportsContext.getInstance(); 
JRPropertiesUtil.getInstance(context).setProperty("net.sf.jasperreports.default.font.name", "DejaVu Sans"); 
JRPropertiesUtil.getInstance(context).setProperty("net.sf.jasperreports.default.pdf.embedded", "true"); 
JRPropertiesUtil.getInstance(context).setProperty("net.sf.jasperreports.default.pdf.font.name", "DejaVu Sans"); 

,然後加入一個新的依賴於行家配置:

<dependency> 
    <groupId>net.sf.jasperreports</groupId> 
    <artifactId>jasperreports-fonts</artifactId> 
    <version>4.0.0</version> 
</dependency>