【问题标题】:How to include Images and Tables in Textfields when exporting to PDF?导出为 PDF 时如何在文本字段中包含图像和表格?
【发布时间】:2015-04-02 22:11:06
【问题描述】:

在使用 JasperReports 导出 PDF 时,是否可以使用 markup=html 在 Textfields 中包含图像和表格?

当我在报告中添加一个带有 markup=html 的文本字段时,会提供开箱即用的基本 HTML 支持,例如:

<textField>
    <reportElement .../>
    <textElement markup="html"/>
    <textFieldExpression><![CDATA["<html>some <b>bold</b> text</html>"]]></textFieldExpression>
</textField>

但是,似乎不支持更复杂的 HTML。如果我做对了,就必须编写一个自定义 MarkupProcessor 来将传入的 HTML 转换为 jrxml 并将其插入 JasperReports 引擎以处理更复杂的示例。

因为我们使用CKEditor 来处理输入,所以使用的标签列表应该是可管理的。其次,我们已经使用Jsoup 来解析和清理 HTML,这可能对实现 MarkupProcessor 很有用。

有没有可以借鉴的例子?正如我所说,我主要是在寻找图像(img)和表格(tabletrtd)的支持。

如果没有,是否可以使用 JasperReports 实现此目的?

【问题讨论】:

  • 我也有同样的问题,你找到解决办法了吗?
  • @AlbertHendriks 这似乎不可能,至少我还没有找到一个简单的解决方案。我最终做的是使用docx4java.org 生成包含 HTML 的 .docx 文件。事实证明,我们的用户很高兴获得 Word 文件而不是 PDF,所以我对此很满意。然而,将生成的 docx 转换为 pdf 是可能的,但我还没有尝试过。顺便说一句,docx4j 似乎在后台使用code.google.com/p/flying-saucer 来导入 HTML。
  • 您不能在文本字段中插入图像。这是我的电子邮件 ID。请告诉我你的确切情况。 mabtestflight@gmail.com.

标签: html jasper-reports pdf-generation


【解决方案1】:

这似乎确实是不可能的。我们现在做的是在 jrxml 中的预定义位置插入图像,并配置 ckeditor 的有限功能。另一种选择是从 ckeditor 中提取图像 url 并将它们插入到 jrxml 中的预定义位置,但我们现在不使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2021-03-03
    • 2020-01-31
    • 2012-03-04
    相关资源
    最近更新 更多