我試圖在jasper報告中顯示ukranian字符作爲pdf文件。但它不是以pdf格式顯示的。在Jasper Report中未顯示烏克蘭(Cyrilic)字符PDF
當我將報告導出到所有其他格式,如html,csv..ukranian字符顯示。
請幫幫我!
我試圖在jasper報告中顯示ukranian字符作爲pdf文件。但它不是以pdf格式顯示的。在Jasper Report中未顯示烏克蘭(Cyrilic)字符PDF
當我將報告導出到所有其他格式,如html,csv..ukranian字符顯示。
請幫幫我!
首先,確保你有正確的編碼:
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
那麼你應該改變字體,以支持西里爾的。這是通過樣式完成:
public void addPdfFontsToStyles(JRStyle[] styles) {
if (styles != null) {
for (JRStyle style : styles) {
if (style.getName().equals("reportStyle")) {
style.setPdfFontName("/com/yourcompany/fonts/times.ttf");
style.setBlankWhenNull(true);
}
if (style.getName().equals("reportBoldStyle")) {
style.setPdfFontName("/com/yourcompany/fonts/timesbd.ttf");
style.setBlankWhenNull(true);
}
}
}
}
並調用此方法addPdfFontsToStyles(jasperReport.getStyles());
當然,先決條件是:
應該這樣做它(我正在從工作cyrilic應用程序的代碼)
+1工作得很好 - 謝謝! – 01es 2012-11-02 19:25:04
註冊字體在JVM
Font myFont = Font.createFont(Font.TRUETYPE_FONT, new File("pathToCyrillicFont"));
GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(myFont);
添加到西里爾場這樣的:
<textElement>
<font
fontName="fontName"
pdfFontName="pathToCyrillicFont"
size="13"
isBold="false"
isItalic="false"
isUnderline="false"
isPdfEmbedded ="true"
pdfEncoding ="Cp1251"
isStrikeThrough="false"
/>
</textElement>
享受!
在iReport中設置一些文本字段屬性。使用字體DejaVu Sans。設置pdf編碼爲Cp1251和isPdfEmbedded至true。
例:<font fontName="DejaVu Sans" isStrikeThrough="false" pdfEncoding="Cp1251" isPdfEmbedded="true" />
JasperReports的字體作爲Maven的依賴性:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
</dependency>
很棒的回答! – mist 2015-05-05 23:15:05
3年後... pdfEncoding已棄用,但是jasperreports-fonts使用font-extensions如果您喜歡使用自己的字體,請參閱http://stackoverflow.com/questions/34041619/jasper-reports-pdf-doesnt-export-西里爾值/用於字體擴展的例子。 – 2016-01-18 17:04:46
由於碧玉報告V5,V6在PDF是用font-extension
欲瞭解更多信息顯示字符的正確方法請參閱以下問題:
Jasper Reports PDF doesn't export cyrillic values
How can I display "$£Ω€απ⅔" in Jasperserver PDF using iReport?
用於導出的字體是否具有必需的字符?我不確定Jasper Report使用什麼方法,但PDF文件通常包含用於生成它的字體 - 這意味着字體必須支持國際字符。 – Piskvor 2011-02-23 16:33:29
http://maryniuk.blogspot.com/2010/09/custom-ttf-fonts-in-jasperreports。HTML這幫了我 – 2011-06-22 06:28:47