2016-11-24 27 views
1

我有四個報告,基本上是同一報告的不同格式,並且其中三個發生以下問題。我在Detail的樂隊中有一個文本字段,標記爲伸展與溢出。問題是,它似乎擁有某種字符的限制,因爲下面的文字(110個字):細節的文本字段似乎有一個字符數限制,並停止拉伸

MAD.ESP.TAUARI(COURATARI GUIANENSIS AUBL.)SERRADA EM RIPA.KD.FAS.FSC 100% MED.19,1MMX38,1MMX2438,4MM DE COMP. 

這只是印刷:

MAD.ESP.TAUARI(COURATARI GUIANENSIS AUBL.)SERRADA EM RIPA.KD.FAS.FSC 100% MED.19,1MMX38,1MMX2438,4MM DE 

如屏幕截圖所示:

First report Second report Third report (only one printing correctly) Fourth report

注意到當使用JasperStudio的「預覽」時,整個文本都會正常顯示。

下面是其中一個文本字段的代碼。它們基本上是一樣的,改變寬度,高度和位置。

<textField isStretchWithOverflow="true"> 
    <reportElement x="26" y="0" width="76" height="10"> 
    </reportElement> 
    <textElement textAlignment="Center" verticalAlignment="Top"> 
     <font fontName="Arial" size="8"/> 
    </textElement> 
    <textFieldExpression><![CDATA[$F{descricaoProduto}]]></textFieldExpression> 
</textField> 

我使用的是JasperReports的6.2.2版本。

編輯:

我創建了一個要點與最低版本的報告,問題發生了:

Sample

我將其導出到PDF和使用宋體的字體(我用Arial字體添加一個JAR)。

+0

您應該發佈小樣本(* jrxml *)來重現問題。什麼是輸出格式?你有沒有嘗試使用不同的字體? –

+0

@AlexK,我剛添加了一個最小樣本。我還沒有嘗試過其他字體。 –

+1

將net.sf.jasperreports.export.pdf.force.linebreak.policy設置爲true可能會有所幫助。請參閱http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.pdf.force.linebreak.policy – dada67

回答

1

net.sf.jasperreports.export.pdf.force.linebreak.policy屬性設置爲true(以jasperreports.properties或以編程方式)。請參閱http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.pdf.force.linebreak.policy

該屬性指示PDF導出程序使用java.text.BreakIterator來確定文本中可能出現換行符的位置,這可確保PDF導出時的換行符與換行符在報表填充時測量文本時的換行符使用的位置。需要注意的是,這可能會對PDF導出性能產生一些影響,但它不應該是戲劇性的。

相關問題