jasper-reports - jasper 报告中的文本字段数据截断
问题描述
我有一个带有文本字段的表格,即使文本字段有空间,数据也会被截断,我不确定是由于字体还是还有其他问题
我的 Xml 如下所示
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.8.0.final using JasperReports Library version 6.8.0-2ed8dfabb690ff337a5797129f2cd92902b0c87b -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Peer_Financial" pageWidth="371" pageHeight="30" columnWidth="371" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" isIgnorePagination="true" uuid="f541b4fb-a36f-4642-8d7a-08f8deae5cfe">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<style name="Table_TH" mode="Opaque" backcolor="#F0F8FF">
<box>
<pen lineWidth="0.0" lineColor="#000000"/>
<topPen lineWidth="0.0" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineColor="#000000"/>
</box>
</style>
<style name="Table_CH" mode="Opaque" backcolor="#BFE1FF">
<box>
<pen lineWidth="0.0" lineColor="#000000"/>
<topPen lineWidth="0.0" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineColor="#000000"/>
</box>
</style>
<style name="Table_TD" mode="Opaque" backcolor="#FFFFFF">
<box>
<pen lineWidth="0.0" lineColor="#000000"/>
<topPen lineWidth="0.0" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineColor="#000000"/>
</box>
</style>
<subDataset name="Dataset1" uuid="619e9aee-9ca4-4a77-aded-fbaab6a5afc9">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<scriptlet name="Scriptlet_1" class="test.CustomizationReport"/>
<parameter name="period" class="java.lang.String"/>
<field name="itemName" class="java.lang.String"/>
<field name="unit" class="java.lang.String"/>
<field name="currency" class="java.lang.String"/>
<field name="companyName1" class="java.lang.String"/>
<field name="companyName2" class="java.lang.String"/>
<field name="companyName3" class="java.lang.String"/>
<field name="companyName4" class="java.lang.String"/>
<field name="companyData1" class="java.lang.Double"/>
<field name="companyData2" class="java.lang.Double"/>
<field name="companyData3" class="java.lang.Double"/>
<field name="companyData4" class="java.lang.Double"/>
</subDataset>
<parameter name="peerFinancialDataSource" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/>
<parameter name="period" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<summary>
<band height="26" splitType="Stretch">
<componentElement>
<reportElement x="0" y="0" width="371" height="26" isRemoveLineWhenBlank="true" isPrintInFirstWholeBand="true" uuid="ac8d3aad-66c7-47ef-9c28-96a27a061aaf">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.FreeLayout"/>
<property name="com.jaspersoft.studio.table.style.table_header" value="Table_TH"/>
<property name="com.jaspersoft.studio.table.style.column_header" value="Table_CH"/>
<property name="com.jaspersoft.studio.table.style.detail" value="Table_TD"/>
<property name="net.sf.jasperreports.export.headertoolbar.table.name" value=""/>
<property name="com.jaspersoft.studio.components.autoresize.proportional" value="true"/>
</reportElement>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Dataset1" uuid="67b18d99-1e00-4ce6-baa5-525998255b75">
<datasetParameter name="period">
<datasetParameterExpression><![CDATA[$P{period}]]></datasetParameterExpression>
</datasetParameter>
<dataSourceExpression><![CDATA[$P{peerFinancialDataSource}]]></dataSourceExpression>
</datasetRun>
<jr:column width="90" uuid="5184a227-b235-4765-890b-04e16ed74654">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column1"/>
<jr:columnHeader style="Table_CH" height="20" rowSpan="1">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<pen lineWidth="0.0" lineStyle="Solid"/>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="90" height="20" uuid="351bc635-fdac-4c19-a911-8cf91942523e"/>
<box leftPadding="4" rightPadding="4">
<pen lineWidth="1.0" lineColor="#FFFFFF"/>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<textElement verticalAlignment="Middle">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA["Peer Comp (" + $P{period} +")"]]></textFieldExpression>
</textField>
</jr:columnHeader>
<jr:detailCell height="15">
<property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.HorizontalRowLayout"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="90" height="15" uuid="f88cf245-09eb-4a53-8c21-5ce0b2463d3a"/>
<box leftPadding="4" rightPadding="4">
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement verticalAlignment="Middle">
<font size="5.5"/>
</textElement>
<textFieldExpression><![CDATA[$F{itemName}==null?"-":$F{itemName}+ " " + (($F{currency}==null || $F{currency}.equals("") )&&($F{unit}==null || $F{unit}.equals(""))?"": (($F{currency}!=null && !$F{currency}.equals("") )&&($F{unit}!=null && !$F{unit}.equals(""))?"("+ $F{currency} +" "+ $F{unit} + ")": ( ($F{currency}==null || $F{currency}.equals(""))?"("+$F{unit}+")" :"(" + $F{currency} + ")" ) ) )]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="71" uuid="32e67f8c-3cb2-4c24-a6fa-2a94e3aefa1e">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column2"/>
<jr:columnHeader style="Table_CH" height="20" rowSpan="1">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="71" height="20" uuid="55cb313f-138e-40a9-99e9-56d0b7715b7b"/>
<box leftPadding="4" rightPadding="4">
<pen lineWidth="1.0" lineColor="#FFFFFF"/>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyName1}]]></textFieldExpression>
</textField>
</jr:columnHeader>
<jr:detailCell height="15">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="71" height="15" uuid="12a0f2e9-b0e6-4bbe-bc03-39c031b08e8f"/>
<box leftPadding="4" rightPadding="4"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="5.5"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyData1}== null?"-":$P{Scriptlet_1_SCRIPTLET}.customization(new BigDecimal($F{companyData1}),$F{unit})]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="70" uuid="8aa254f5-3e7f-4f0c-a736-52ec37ee3f4c">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column3"/>
<jr:columnHeader style="Table_CH" height="20" rowSpan="1">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="70" height="20" uuid="c1f0cd97-0cc4-407d-953d-32a0dd9e66e1"/>
<box leftPadding="4" rightPadding="4">
<pen lineWidth="1.0" lineColor="#FFFFFF"/>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyName2}]]></textFieldExpression>
</textField>
</jr:columnHeader>
<jr:detailCell height="15">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="70" height="15" uuid="a8370250-65d8-4868-bdcf-5bfd332f06de"/>
<box leftPadding="4" rightPadding="4"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="5.5"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyData2}== null?"-":$P{Scriptlet_1_SCRIPTLET}.customization(new BigDecimal($F{companyData2}),$F{unit})]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="70" uuid="ae8c0468-dab7-418f-a4d5-0ee36e84b7ce">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column4"/>
<jr:columnHeader style="Table_CH" height="20" rowSpan="1">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="70" height="20" uuid="12ad46ac-c9be-432a-8fde-083b73d99179"/>
<box leftPadding="4" rightPadding="4">
<pen lineWidth="1.0" lineColor="#FFFFFF"/>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyName3}]]></textFieldExpression>
</textField>
</jr:columnHeader>
<jr:detailCell height="15">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="70" height="15" uuid="27180bd2-0cb9-4241-b05b-6606ea2886f7"/>
<box leftPadding="4" rightPadding="4"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="5.5"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyData3}== null?"-":$P{Scriptlet_1_SCRIPTLET}.customization(new BigDecimal($F{companyData3}),$F{unit})]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="70" uuid="d264535d-5713-41fd-a02a-a4d77b1bded1">
<property name="com.jaspersoft.studio.components.table.model.column.name" value="Column5"/>
<jr:columnHeader style="Table_CH" height="20" rowSpan="1">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement x="0" y="0" width="70" height="20" uuid="af161ad8-1f01-4e34-a5e3-8bdf9da03005"/>
<box leftPadding="4" rightPadding="4">
<pen lineWidth="1.0" lineColor="#FFFFFF"/>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#FFFFFF"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="6"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyName4}]]></textFieldExpression>
</textField>
</jr:columnHeader>
<jr:detailCell height="15">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<box>
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="70" height="15" uuid="7310c0c0-dab6-4e51-87b7-66d5a7987042"/>
<box leftPadding="4" rightPadding="4">
<topPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<bottomPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
<rightPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="5.5"/>
</textElement>
<textFieldExpression><![CDATA[$F{companyData4}== null?"-":$P{Scriptlet_1_SCRIPTLET}.customization(new BigDecimal($F{companyData4}),$F{unit})]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
</jr:table>
</componentElement>
</band>
</summary>
</jasperReport>
对于文本字段,我使用下面提到的属性字体:无衬线字体大小:6
我已经尝试过以下属性,但结果是一样的。
<property name="net.sf.jasperreports.print.keep.full.text" value="new Boolean(true)"/>
<property name="net.sf.jasperreports.text.truncate.at.char" value="new Boolean(false)"/>
最后一栏全文为“*Australian Agriculture Co. Ltd.(AUD)”
即使单元格中有空间,它仍然会被截断。
我正在使用 TIBCO Jaspersoft® Studio 6.8.0 - JasperReports 6.8.0 的可视化设计器。为编写报告
解决方案
推荐阅读
- python-3.x - python3中如何让每个线程发送多个请求?
- android - 当当前工作人员仍在运行时,Android 工作管理器会在 10 分钟后调用工作人员
- c# - 如何使 Microsoft.Toolkit.Wpf.UI.Controls.WebView 窗口在 xaml 中可调整大小
- c++ - 怎么办我用一些问题来实现 oop
- c++ - “点击” GLFW 窗口?
- php - 从 Laravel 中的中间件重定向未按预期工作
- julia - 为什么当我编写 if 语句时 Julia 会抛出输入错误的过早结束?
- java - 如何在 Spring-app 和 PostgreSQL 中添加 ENUM?
- python - Bokeh TapTool 单击时在 Div 中显示文本,未单击时重置为空白
- angular - 角度垫选项不能将 $event 转换为对象