2017-05-31 42 views
1

有关于这个主题的左右,但一些相关的问题都没有解决(最接近的一个here在文本框用粗体样式的文字越来越截断分页

我有很长的文本输入文本字段在jasper报告中,如果分割文本具有粗体文本,则页面中断的部分文本会被截断。如果分割文本是简单的,它工作正常。

看起来好像JasperReports如果输入文本带有粗体html标签,并且在导出为PDF时剪切剩余单词,则引擎无法计算页面中的最大字符数。我使用JasperReports的6.2.0

这是源代码:

<band height="40" splitType="Stretch"> 
    <textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
     <reportElement positionType="Float" stretchType="RelativeToBandHeight" x="30" y="10" width="510" height="20" isPrintWhenDetailOverflows="true"> 
      <property name="local_mesure_unity" value="pixel"/> 
      <property name="com.jaspersoft.studio.unit.y" value="px"/> 
      <property name="local_mesure_unitx" value="pixel"/> 
      <property name="com.jaspersoft.studio.unit.x" value="px"/> 
      <property name="local_mesure_unitwidth" value="pixel"/> 
      <property name="com.jaspersoft.studio.unit.width" value="px"/> 
      <property name="local_mesure_unitheight" value="pixel"/> 
      <printWhenExpression><![CDATA[$P{myInputData} != null]]></printWhenExpression> 
     </reportElement> 
     <textElement textAlignment="Justified" markup="html"> 
      <font fontName="ArialExtendedJasper"/> 
     </textElement> 
     <textFieldExpression><![CDATA[$P{myInputData}]]></textFieldExpression> 
    </textField> 
</band> 

编辑: 添加字体扩展属性

<?xml version="1.0" encoding="UTF-8"?> 
<fontFamilies> 
    <fontFamily name="ArialExtendedJasper"> 
    <normal>fonts/ArialExtendedJasper/arial.ttf</normal> 
    <bold>fonts/ArialExtendedJasper/arialbd.ttf</bold> 
    <italic>fonts/ArialExtendedJasper/ariali.ttf</italic> 
    <boldItalic>fonts/ArialExtendedJasper/arialbi.ttf</boldItalic> 
    <pdfEncoding>Identity-H</pdfEncoding> 
    <pdfEmbedded>true</pdfEmbedded> 
    <exportFonts> 
    </exportFonts> 
    </fontFamily> 
</fontFamilies> 
+1

你尝试过不同的字体吗?你在使用字体扩展吗? –

+0

您是否尝试删除标记? –

+1

如果我猜这是一个典型的[font extensions](https://stackoverflow.com/documentation/jasper-reports/5773/font-extensions)问题。 –

回答

0

Alex和皮特是正确的,它是一个字体扩展问题,我改变了字体(source .ttf文件),这个问题不会再发生。

我从互联网上下载了宋体字体,但并不知道这种字体是授权的,而且您发现的字体并不可靠。

现在我正在使用Google Fonts,他们是免费的,作品完美!