ireports内部预览& pdf预览

时间:2011-11-25 10:58:39

标签: java jasper-reports ireport

我在Jaspersoft iRreport Designer 4.0.2中设计了报告

在内部预览中,它以指定的字体(calibri)显示报告。它的设计和元素对齐是恰当的。 但在PDF预览中它的字体,元素的对齐方式是不同的。

1 个答案:

答案 0 :(得分:2)

  • 尝试设置 pdfFontName isPdfEmbedded 字体设置。

样本:

<font fontName="Arial" pdfEncoding="Identity-H" isPdfEmbedded="true"/>

PDF embedded 标志指定是否应包含外部TrueType字体文件 在 PDF 文件中。

  • 另一种方法是使用Font Extensions机制。供应商推荐使用此方法。

示例:

您可以使用 iReport Calibri 字体生成字体扩展名。结果将是 jar 文件。

配置文件(来自生成的jar包)将是:

<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
   <fontFamily name="Calibri">
       <normal><![CDATA[fonts/calibri.ttf]]></normal>
       <bold><![CDATA[fonts/calibrib.ttf]]></bold>
       <italic><![CDATA[fonts/calibrii.ttf]]></italic>
       <boldItalic><![CDATA[fonts/calibriz.ttf]]></boldItalic>
       <pdfEncoding><![CDATA[Identity-H]]></pdfEncoding>
       <pdfEmbedded><![CDATA[true]]></pdfEmbedded>
       <exportFonts>
               <export key="net.sf.jasperreports.html"><![CDATA[CalibriHtml]]></export>
       </exportFonts>
       <locales>
               <locale><![CDATA[en]]></locale>
       </locales>
   </fontFamily>
</fontFamilies>

jrxml 文件的片段,用于演示新字体扩展名的使用情况:

<staticText>
    <reportElement x="215" y="26" width="100" height="20"/>
    <textElement>
        <font fontName="Calibri"/>
    </textElement>
    <text><![CDATA[Static text]]></text>
</staticText>

您可以使用this link获取有关在 JasperReports 中使用字体的详细信息。