【问题标题】:Jasper Report : Aligning text as center in text field using HTML markupJasper Report:使用 HTML 标记在文本字段中将文本对齐为中心
【发布时间】:2016-03-12 15:20:49
【问题描述】:

我创建了一个 Jasper 报告来显示从 DB 检索到的文本。文本采用 HTML 格式。在 PDF 中显示时,我需要对文本进行样式设置和对齐。这是来自 DB 的示例 HTML 文本

<html>
<p><b>This is Bold text</b></p>
<p>  This is a paragraph whith indent</p>
<p>This is a paragra with no indent</p>
<p><center>This text should be centered</center></p>
<p><font size="4">This text should be of font size 4</font></p>
</html>

粗体和段落标签可以正常工作。但是字体不适用于 4 号。有一个中心标签用于必须居中对齐的线条。查看 Jasper 文档中心标签未在支持的标签中列出。 http://jasperreports.sourceforge.net/sample.reference/styledtext/index.html

我尝试使用样式和 rtf 标记进行中心对齐,但没有成功。 有没有其他方法可以实现文本对齐作为文本字段中某些行的中心?

如果我以错误的方式使用字体标签,请告诉我。

【问题讨论】:

    标签: html jasper-reports text-alignment


    【解决方案1】:

    字体大小

    我看不出您的字体大小命令没有任何问题,请确保您有 markup="html" 并且 " 已正确转义,您可以尝试将其替换为 '

    这个textFieldExpression

    <textField>
        <reportElement x="132" y="0" width="126" height="30" uuid="0328a547-49c7-402c-bcb0-ae2a8fba4fb3"/>
        <textElement markup="html"/>
        <textFieldExpression><![CDATA["<p><font size=\"1\">Small</font>&nbsp;<font size=\"3\">Big</font></p>"]]></textFieldExpression>
    </textField>
    

    将渲染

    文本对齐

    使用不同的markup (styled,rtf,html),您只能格式化文本的外观(颜色、粗体、下划线 ecc)。

    此功能用于生成样式文本

    QuotingTeodord(贾斯珀报告人员)

    对齐不在支持的样式中,因为它不是关于 文本字符的外观,但关于你如何布置它们。我们不可以 更改同一文本字段元素中文本的对齐方式。

    你有什么选择?

    1. 用空格填充文本,您可以创建自己的静态方法,用 es 填充文本。 &amp;nbsp; 取决于文本长度。

    2. 试试&lt;hc:html&gt; 组件,这将呈现你的html图像。 (不再是文字,而是图像......)

    3. 后处理 JasperReport 或 JasperPrint 以移动元素...(注意它必须是单独的元素)

    不多..所以为什么不不用....

    【讨论】:

    • 谢谢。字体问题已修复。
    • 对于对齐,文本缩进与 &nbsp 一起使用。我尝试了 html 组件以显示表格和中心对齐。这适用于固定数据,但不适用于动态数据。如果内容动态增加,则 html 会缩小其大小。有没有其他方法可以显示html表格?
    • html 组件的问题在于它呈现为图像......这就是为什么你看到它在缩小(你也可以剪辑它,它不会缩小,但我想这不会有帮助)。 jasper 报告中没有简单的方法直接显示 html 表格,解决方法可能是 1)在 java 中解析,并将其作为交叉表传递,2)在 java 中解析并使用动态 jasper。
    • 我尝试使用表格元素,它满足我的要求。对于我尝试   时的缩进在示例 jrxml 文件中,它工作得非常好。当我尝试通过 Java 代码发送相同的内容时,它并没有创建缩进。这是我尝试过的html字符串。code"

      没有缩进的文本

      "+"

             带缩进的文本

      "
    • 缩进问题是因为我的应用程序使用了自定义字体文件。字体文件不正确。所以我从不同的位置下载了字体文件,解决了这个问题
    猜你喜欢
    • 2016-03-08
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    相关资源
    最近更新 更多