Jasper Reports:证明分布式对齐文本字段/静态文本的合理性
Posted
技术标签:
【中文标题】Jasper Reports:证明分布式对齐文本字段/静态文本的合理性【英文标题】:Jasper Reports: justify distributed align Text Field/Static Text 【发布时间】:2015-09-03 20:05:22 【问题描述】:我正在使用 Jasper Studio 6.1.0 设计 PDF 报告。
在我的报告中,我想将文本(文本字段或静态文本)对齐为“证明分布式”,如 microsoft excel(显示下图)。
http://i.stack.imgur.com/YtIbc.jpg
看了很多论坛都没有找到解决办法,请指教。
谢谢!
【问题讨论】:
一行文字写在不同的静态框ryt中 Jasper Report 不支持 excel 中的分布式(缩进)对齐 ***.com/a/57078555/2244676 【参考方案1】:如果您正在寻找类似于 MS Word 中的软返回 (Shift+Enter) 的功能,并且无论如何都希望在 textElement
中实现 textAlignment="Justified"
,那么下面的技巧可能会有所帮助。pdf fragment example
在 TextField 中可以
textAlignment="Justified"
的textElement
set 2 Tab Stops
: "left" at 0px, "right" at the full width of textField
在你想换行的地方使用\t
(或者	
,如果你喜欢使用markup="html"
)。如果您想证明最后一行或单行的合理性,请使用\t\t
(或		
)
<textField>
<reportElement x="0" y="270" >
</reportElement>
<textElement textAlignment="Justified">
<paragraph>
<tabStop position="0" alignment="Left"/>
<tabStop position="540" alignment="Right"/>
</paragraph>
</textElement>
<textFieldExpression><![CDATA["Lorem ipsum dolor sit amet\t\t"]]></textFieldExpression>
</textField>
和整个例子:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.18.1.final using JasperReports Library version 6.18.1-9d75d1969e774d4f179fb3be8401e98a0e6d1611 -->
<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="SoftReturn" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e0df1bfc-6397-4160-9999-538487a658d0">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<queryString>
<![CDATA[]]>
</queryString>
<detail>
<band splitType="Stretch">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<textField>
<reportElement x="0" y="70" uuid="626378db-b76e-44b4-b768-e1996f005058">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<pen lineWidth="0.25"/>
</box>
<textElement textAlignment="Justified">
<paragraph>
<tabStop position="0" alignment="Left"/>
<tabStop position="260" alignment="Right"/>
</paragraph>
</textElement>
<textFieldExpression><![CDATA["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." + "\n\n\n" + "Lorem ipsum dolor sit amet,\tconsectetur adipiscing elit,\tsed do eiusmod tempor incididunt ut labore et\tdolore magna aliqua.\t\t"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="280" y="70" uuid="626378db-b76e-44b4-b768-e1996f005058"/>
<box>
<pen lineWidth="0.25"/>
</box>
<textElement textAlignment="Justified" markup="html">
<paragraph>
<tabStop position="0" alignment="Left"/>
<tabStop position="260" alignment="Right"/>
</paragraph>
</textElement>
<textFieldExpression><![CDATA["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." + "<br><br><br>" + "Lorem ipsum dolor sit amet,&#09;consectetur adipiscing elit,&#09;tsed do eiusmod tempor incididunt ut labore et&#09;dolore magna aliqua.&#09;&#09;"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="238" uuid="cf7e3f9c-b381-4ee4-9e9a-4b3b2cd4e0e7">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<pen lineWidth="0.25"/>
</box>
<textElement textAlignment="Justified">
<paragraph>
<tabStop position="0" alignment="Left"/>
<tabStop position="540" alignment="Right"/>
</paragraph>
</textElement>
<textFieldExpression><![CDATA["Lorem ipsum dolor sit amet\t\t"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="270" uuid="658101ab-6f3b-499d-a717-0e6db6050986">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<box>
<pen lineWidth="0.25"/>
</box>
<textElement textAlignment="Justified" markup="html">
<paragraph>
<tabStop position="0" alignment="Left"/>
<tabStop position="540" alignment="Right"/>
</paragraph>
</textElement>
<textFieldExpression><![CDATA["Lorem ipsum dolor sit amet&#09;&#09;"]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
【讨论】:
以上是关于Jasper Reports:证明分布式对齐文本字段/静态文本的合理性的主要内容,如果未能解决你的问题,请参考以下文章
显示从 Jasper Reports Server 提供的 pdf