【发布时间】: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)和表格(table、tr、td)的支持。
如果没有,是否可以使用 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