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>
你尝试过不同的字体吗?你在使用字体扩展吗? –
您是否尝试删除标记? –
如果我猜这是一个典型的[font extensions](https://stackoverflow.com/documentation/jasper-reports/5773/font-extensions)问题。 –