2016-09-03 54 views
5

我使用Jasper Report 6.3庫將我的報告導出爲PDF格式。當我出口如果字符串長度大於文本字段多寬碧玉自動換行文本,但在這種情況下一些文字覆蓋像下面的圖片爲什麼在Jasper Report 6.3中包裝文本?

Problem

我的文本字段屬性:

stretch with overflow, 
left indent: 3px, 
right indent: 8px, 
stretch type: Relative to Tallest object 

樣品代碼

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Created with Jaspersoft Studio version 6.2.2.final using JasperReports Library version 6.2.2 --> 
<!-- 2016-09-03T20:46:49 --> 
<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="item_wise_mrp_with_image" pageWidth="595" pageHeight="842" whenNoDataType="BlankPage" columnWidth="575" leftMargin="10" rightMargin="10" topMargin="10" bottomMargin="10" whenResourceMissingType="Key" uuid="b7a946cd-ab42-4abe-b2f7-e616b2d38506"> 
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> 
    <parameter name="companyName" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="companyAddress" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="quoteNumber" class="java.lang.Integer" isForPrompting="false"/> 
    <parameter name="quoteDate" class="java.util.Date" isForPrompting="false"/> 
    <parameter name="customerName" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="customerAddress" class="java.lang.String"/> 
    <parameter name="emailId" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="city" class="java.lang.String" isForPrompting="false"> 
     <parameterDescription><![CDATA[]]></parameterDescription> 
    </parameter> 
    <parameter name="mobileNo" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="clientMsg" class="java.lang.String"/> 
    <parameter name="m_nrp" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="companyMobile" class="java.lang.String" isForPrompting="false"/> 
    <parameter name="companyEmail" class="java.lang.String" isForPrompting="false"/> 
    <queryString> 
     <![CDATA[]]> 
    </queryString> 
    <field name="totalAmount" class="java.lang.Double"/> 
    <field name="itemCode" class="java.lang.String"/> 
    <field name="itemDescription" class="java.lang.String"/> 
    <field name="quantity" class="java.lang.Integer"/> 
    <field name="mrp" class="java.lang.Double"/> 
    <field name="nrp" class="java.lang.Double"/> 
    <variable name="tqty" class="java.lang.Integer" calculation="Sum"> 
     <variableExpression><![CDATA[$F{quantity}]]></variableExpression> 
    </variable> 
    <variable name="tprc" class="java.lang.Double" calculation="Sum"> 
     <variableExpression><![CDATA[$P{m_nrp}.equals("MRP")? $F{mrp}:$F{nrp}]]></variableExpression> 
    </variable> 
    <variable name="tamt" class="java.lang.Double" calculation="Sum"> 
     <variableExpression><![CDATA[$F{totalAmount}]]></variableExpression> 
    </variable> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <detail> 
     <band height="96" splitType="Stretch"> 
      <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
      <frame> 
       <reportElement x="0" y="0" width="575" height="96" uuid="7beb5f8d-7645-4156-95be-bef2533acba2"> 
        <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
       </reportElement> 
       <box> 
        <leftPen lineWidth="0.25" lineColor="#BFBFBF"/> 
        <bottomPen lineWidth="0.25" lineColor="#BFBFBF"/> 
        <rightPen lineWidth="0.25" lineColor="#BFBFBF"/> 
       </box> 
       <textField> 
        <reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="44" height="96" uuid="8b74ae61-7a6a-4cd7-a70d-857a5e434feb"> 
         <property name="com.jaspersoft.studio.unit.width" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
        </reportElement> 
        <box bottomPadding="2" rightPadding="0"> 
         <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.25" lineStyle="Solid" lineColor="#BFBFBF"/> 
        </box> 
        <textElement textAlignment="Center" verticalAlignment="Middle"> 
         <font fontName="Calibri" size="11"/> 
         <paragraph leftIndent="3" rightIndent="5"/> 
        </textElement> 
        <textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> 
       </textField> 
       <textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
        <reportElement stretchType="RelativeToBandHeight" x="45" y="0" width="100" height="96" uuid="b6e44305-fe66-4c42-ac7e-c22827e26baf"> 
         <property name="com.jaspersoft.studio.unit.x" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.width" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
        </reportElement> 
        <box bottomPadding="2" rightPadding="0"> 
         <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.25" lineStyle="Solid" lineColor="#BFBFBF"/> 
        </box> 
        <textElement textAlignment="Left" verticalAlignment="Middle"> 
         <font fontName="Calibri" size="11"/> 
         <paragraph lineSpacingSize="0.0" leftIndent="3" rightIndent="8"/> 
        </textElement> 
        <textFieldExpression><![CDATA[$P{customerAddress}]]></textFieldExpression> 
       </textField> 
       <textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
        <reportElement stretchType="RelativeToBandHeight" x="145" y="0" width="235" height="96" uuid="c7f1aaf5-c7fb-4e24-8283-c9d5a819feef"> 
         <property name="com.jaspersoft.studio.unit.x" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.width" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
        </reportElement> 
        <box bottomPadding="3" rightPadding="0"> 
         <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.25" lineStyle="Solid" lineColor="#BFBFBF"/> 
        </box> 
        <textElement textAlignment="Left" verticalAlignment="Middle"> 
         <font fontName="Calibri" size="11"/> 
         <paragraph lineSpacingSize="0.0" leftIndent="3" rightIndent="12"/> 
        </textElement> 
        <textFieldExpression><![CDATA[$P{clientMsg}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement key="" stretchType="RelativeToBandHeight" x="380" y="0" width="40" height="96" uuid="70f88651-eefc-49df-898c-5a1eade29bac"> 
         <property name="com.jaspersoft.studio.unit.x" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.width" value="pixel"/> 
         <property name="com.jaspersoft.studio.unit.height" value="pixel"/> 
        </reportElement> 
        <box bottomPadding="2" rightPadding="0"> 
         <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.25" lineStyle="Solid" lineColor="#BFBFBF"/> 
        </box> 
        <textElement textAlignment="Center" verticalAlignment="Middle"> 
         <font fontName="Calibri" size="11"/> 
         <paragraph leftIndent="3" rightIndent="5"/> 
        </textElement> 
        <textFieldExpression><![CDATA[$F{quantity}]]></textFieldExpression> 
       </textField> 
      </frame> 
     </band> 
    </detail> 
</jasperReport> 

Ť他是一個示例代碼。我用Jasper Studio。要重現此錯誤輸入下面輸入

customerAddress: ALD-CHR-769L250X190
clientMsg:瓶陷阱(帶內部分區)32毫米大小隨250毫米&190毫米長壁連接管&壁突

我怎麼解決這個問題?

+0

@PetterFriberg請立即檢查。我更新我的問題。 – sakit

回答

4

是的,這是一個正常的字體擴展問題,我設法reproduce您的問題,並添加它解決了字體擴展。

這是如何在JasperSoft Studio添加字體擴展,我有這些設置

FontExtension settings

運行報告後添加字體擴展問題解決了

Result

當你在JasperSoft Studio之外運行時,你需要創建一個字體擴展jar(添加到classpath)if y ou喜歡使用Calibri字體,否則請切換字體。

+0

非常感謝。 – sakit

+0

對不起,我忘了:) – sakit

+0

我知道這個不同的問題,但我希望你能幫我解決邊界問題。當我輸出到pdf時,某些pdf閱讀器在某個縮放級別上沒有顯示邊框。例如Adobe Reader專業版無法在50%縮放級別顯示0.25薄邊框。但在100%縮放級別顯示。有沒有辦法解決這個問題 – sakit