【问题标题】:How to use RTF content is jasper report如何使用 RTF 内容是 jasper 报告
【发布时间】:2015-12-11 06:16:47
【问题描述】:

我正在使用 Jasper Report 5.6.0 + JSF 2.2 + Primefaces 5.2

我的问题是我从pe:ckEditorhere 传递 RTF 的 jrxml 的详细波段(内容)。这个编辑器有很多丰富的组件,例如表格、收音机、字体等。

在生成的文档中,许多样式自动转义。像表格或字体。虽然该文本字段标记是 html。

More: 如果我生成 html 而不是 pdf,字体将被更改。我粗略的猜测是,如果 JasperReport -> iText 库中没有任何字体,它将自动转义

【问题讨论】:

    标签: html jasper-reports primefaces-extensions


    【解决方案1】:

    要在textElement 上使用markup="rtf" 呈现RTF 文本,但是您将能够呈现表格、文本对齐、框的ecc。

    此功能仅用于生成样式文本。,文本的外观(粗体、大小、颜色等)

    你有什么选择?

    1. 转换为 html 并使用 HTML Renderer Component,注意这两者都不是完美的,因为它会渲染您的 html 的图像(溢出和大小的问题)。

    2. 创建自己的 RTF 组件,我没有看到 RTF 渲染器组件,我认为 JasperSoft Community 中没有针对此功能请求的开放跟踪器

    3. 在 java 中解析 RTF 并使用动态 jasper 生成报告(或相对于 RTF 的子报告)

    在生成 pdf 时,如果没有提供字体扩展名,iText 将使用 (quoting @Bruno Lowagie) "尽最大努力" 来渲染您的字体,这通常是不够的。考虑在你的项目中添加字体扩展

    Check list for rendering font in pdf using jasper report

    How to add font extensions using iReport or JasperSoft Studio

    注意:如果您使用的是 HTML 渲染器组件,则不需要它,因为它正在渲染图像。

    【讨论】:

    • 我必须为表格、文本说明、列表、复选框等执行此操作。其实这里的所有组件primefaces.org/showcase-ext/sections/ckEditor/basicUsage.jsf,我累了很多东西但并不完美。我们在 Jasper 中是否还有其他选择,或者我只是简单地转向基于纯 HTML 的 XSLT(无限制)
    • @Sarz 请注意,HTML 组件将呈现和图像(您将遇到尺寸问题,溢出 ecc。)所以它并不是真的没有限制。如果您不需要限制,我会尝试动态 jasper 或通过代码直接生成 jasper 报告。 rtf 示例通过代码生成子报告 (.jrxml)(根据需要实现功能),然后将其包含在主报告中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多