我遇到过一个场景,我必须从数据库中读取html数据并将其显示在pdf报告中。这个html数据还包含表结构<table></table>
标签和其中的其他html元素。以前我们使用jasper报告来满足我们的报告需求,但最近我们知道jasper不支持上述功能,我想知道可以使用哪种报告工具,以便它可以与servoy合并。 birt能提供这种功能吗?
答案 0 :(得分:2)
AFAIK没有一个众所周知的报告工具确实支持这一点,尽管在BIRT中它“以某种方式”工作 - 但还不够好,无法使用。 我认为原因很简单:报告工具必须包含一个完整的浏览器引擎,如WebKit或其他人来实现这一点,因为它必须“理解”其分页算法的结构。
答案 1 :(得分:1)
是的,BIRT有一个文本元素,我们可以将显示类型设置为HTML。如果html表位于数据集字段中,则只需使用“value-of”标记将其包含在文本表达式中,如下所示:
<VALUE-OF format="HTML">row["htmlTableField"]</VALUE-OF>
PDF格式考虑了这些html元素,包括大多数简单的样式设置,如背景颜色,文本对齐,边框等。
答案 2 :(得分:-4)
通常报告使用html进行渲染。
在BIRT中正确显示html有一些技巧。
您可以使用Dynamic Text元素并设置为html或auto。
以下是处理自由格式文本的一些技巧..
确保您的xml有效,我建议您更换换行符,否则您可能会遇到rptdocument无法导出的情况。
另外,如果可能的话,在使用run + render时将它们保留在自动布局中。分页符实际上可以在运行时计算一次,也可以在渲染时再次计算。您可能会遇到修复问题。在Web查看器或rptdocument中使用RUN()阶段时,页面可能会尝试在打破页面之前显示所有html。然后,当渲染为pdf时,以不同的方式应用中断,并使用固定布局。