代码之家  ›  专栏  ›  技术社区  ›  asalamon74

JasperReports html和pdf输出

  •  8
  • asalamon74  · 技术社区  · 16 年前

    我想使用JSP创建一个动态报告网页。基本上应包括以下部分:

    1. HTML输出:过滤器的结果可以在这里看到。它是一个大的html页面(如果一个页面太大,则有几个页面)。它可能包含到系统其他部分的链接。

    我希望使用java报告库,而不是自己实现所有功能,因此我使用 JasperReports

    JasperReport的html导出创建了一个html文件,其中包含大量硬连线代码和非常随机的配置选项。例如,默认情况下,它会创建一个带有白色背景的表( <table style="... bgcolor="white" ... "> IS_WHITE_PAGE_BACKGROUND 另一方面,选择权 cellpadding="0" cellspacing="0" border="0" 都是硬连线的 table 标签。html文件所包含的不是跨类,而是跨类,这也很奇怪(并且使css样式设计变得困难) <span style="font-family: sansserif; color: #000000; font-size: 10.0px;"> 为了我所有的领域。

    DRY 原则。

    实施这一目标的最佳实践是什么?是否可以使用JasperReports创建更好的HTML导出?

    1 回复  |  直到 16 年前
        1
  •  11
  •   beggs    16 年前

    …文档格式,如HTML或XLS, 不支持设备的绝对定位 文本和图形元素。这个 当然,有些人可能会说绝对的 可能是因为CSS,但你可以 确保CSS标准 在所有浏览器或其他浏览器中实现 相同的HTML文档看起来不一样 到处都一样。

    这就是为什么^JasperReports报告生成HTML的内置导出程序, 算法,以安排 存在于某个文档中的元素 报告设计非常复杂或复杂 凝聚的,从绝对 生成具有多个属性的非常复杂的表 未使用的行和列,以使其 对于元素之间的空白 或者它们的特殊排列。

    source

    如前所述,它是旧的,但据我所知,它仍然是准确的。

    net.sf.jasperreports.export.html.frames.as.nested.tables
    net.sf.jasperreports.export.html.remove.emtpy.space.between.rows
    net.sf.jasperreports.export.html.size.unit
    net.sf.jasperreports.export.html.using.images.to.align
    net.sf.jasperreports.export.html.white.page.background
    net.sf.jasperreports.export.html.wrap.break.word
    net.sf.jasperreports.export.{format}.exclude.origin.{suffix}.{arbitrary_name}
    net.sf.jasperreports.export.{format}.exclude.origin.keep.first.{suffix}.{arbitrary_name}
    

    documentation here

    $(document).ready(function() {
       $('span').removeAttr('style');
    });
    
    推荐文章