导出为 PDF 时如何在文本字段中包含图像和表格?
Posted
技术标签:
【中文标题】导出为 PDF 时如何在文本字段中包含图像和表格?【英文标题】:How to include Images and Tables in Textfields when exporting to 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
)和表格(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. 【参考方案1】:这似乎确实是不可能的。我们现在做的是在 jrxml 中的预定义位置插入图像,并配置 ckeditor 的有限功能。另一种选择是从 ckeditor 中提取图像 url 并将它们插入到 jrxml 中的预定义位置,但我们现在不使用它。
【讨论】:
以上是关于导出为 PDF 时如何在文本字段中包含图像和表格?的主要内容,如果未能解决你的问题,请参考以下文章