`

JFreeReport 0.9 的特性预览

阅读更多

在Pentaho的官方论坛里,我看到了JFreeReport 0.9的相关信息。经过将近15个月的调研和计划,经过1年多的开发(前几天刚发布,下载),JFreeReport 0.9比原来的版本有了巨大的变化。

变化1:全新的架构。与以前版本完全不一样的架构。

变化2:面向文档(document)的处理方式,替换了原来的以数据为中心的报表方式。

变化3:遵循更严格的“内容分离”的设计原则。并分离出很多新的子项目。包括:


  • JCommon-Serializer

    http://www.jfree.org/jfreereport/jcommon-serializer/

    This libraries contains a generic serialization helper framework. It is always an ugly task to deal with unknown, possibly non-serializable objects. This library eases the pain.
  • LibLoader

    http://www.jfree.org/jfreereport/libloader/

    LibLoader is a generic content loading and caching framework. Resource-loading is also an ugly, error-prone and hardly performant task. By introducing a central loading and caching layer, this task can be easier, and faster as well.
  • LibFonts

    http://www.jfree.org/jfreereport/libfonts/

    The JFreeReport font reading library. It grants direct access to font data. This is mandatory for perfect layouting, as most of these fonts contain valuable layouting hints, which get not exposed by the AWT.
  • LibLayout

    http://www.jfree.org/jfreereport/liblayout/

    LibLayout is JFreeReport's Cascading-StyleSheets based layouting engine. It accepts a DOM stream and produces content based on the style data assigned with the DOM data.


一些新的好用的功能:

  • 子报表SubReports (maybe the most requested feature)
  • 多数据源Multiple-Datasources
  • Direct support for SQL-DataSources
  • Complex report layouts and rich text support (provided by LibLayout)
  • fully internationalizable reports
  • inline functions (expressions and functions are now directly bound to elements instead of being global. This resolves much of the compexitiy of previous report definitions.)
  • Unmatched flexibility and *total* control over the report process at runtime. Expressions are now able to insert even groups and subreports during the report processing.
  • Namespace support
  • Full support for Cascading StyleSheet (through LibLayout)
  • The 'flow' report xml-format is the new standard report definition format for JFreeReport. By following the new document oriented philosophy, it acts as a markup language to other XML based content description languages. A default base stylesheet for XHTML is included by default, enabling the system to accept and understand HTML layouts.


Before JFreeReport 0.9.0 can be considered finished, there are still some modules to be implemented:

  • Cross-Tab/Pivot-Table report component

    Modelling pivot-tables is an ugly task, which should be automated. The resulting report component automaticly generates the necessary processing steps to print such a table.
  • generic table report component

    Printing tables without having to explicitly declare each of its columns seems to be another highly requested feature. This report component would setup a generic table definition based on the current dataset.
  • precomputed expression values

    .. allow to use the result of a computation before its source rows have been printed. This is what the 'TotalGroupSumExpression' used to do. The resulting component will handle all necessary steps to compute the result. In an ideal world, it would do this in the most performant fashion avoiding multiple iterations.
  • All output targets

    All output targets, which rely on real layouting of content, are currently gone. The last processing step of LibLayout, which performs the computation of layouts is not yet implemented. Once that's done, we can deal with bringing back the pageable- and flow- (former table-) output targets.

    The class of streaming output targets, which does not rely on that layouting step at all, simply needs to be implemented. Streaming output targets are used to create document output, like HTML, RTF or OpenDocumentFormat texts.
  • Out-Of-Order section support

    Out-of-order sections (O3-sections) are sections, which are not part of the normal document flow. Examples for such O3-sections are page-headers and footers or repeating group-headers and footers. Although they are defined inside the document flow, they usually appear on separate page areas and do not appear as part of the normal content.

    O3-sections may not be supported by all output types.

    The actual specification for these sections depends on how flow and pageable output targets handle their pagebreaking. O3-sections make it easy to break functionality or performance up to the point where it gets unusable.

    The final aim is to support everything that is possible with JFreeReport 0.8.7.
  • Swing and SWT GUIs for the output targets

    The GUIs obviously depend on what features and configuration options are provided by the output targets itself. The GUI components include a Print Preview for pageable and flow outputs.
  • XML-Parsers: Compatibility layer for Simple and Ext reports

    Although the overall structure of JFreeReport changed drastically, parsers can be written to transform the old descriptions into the new internal structure.

    During the transition between JFreeReport 0.8.3 and 0.8.4 a similiar approach has been successfully implemented to translate the old report definitions to the new format.

    The resulting parsers must be configurable to accept user-defined function-translations - so that custom function implementations can be translated into the new report structure.
  • XML-Writer

    A writer implementation is needed to create 'flow-XML' report definitions from JFreeReport-Objects.
  • ... and later, after things settled down a bit, we will head on to get a decent Chart-integration into JFreeReport.
分享到:
评论

相关推荐

    报表工具 jfreereport

    ### JFreeReport核心特性 1. **模板设计**:JFreeReport使用XML格式的模板文件,允许用户通过XML定义报表的结构和样式,这种设计方式提高了报表的可维护性和灵活性。 2. **数据绑定**:JFreeReport支持多种数据源...

    JFreeReport web报表 源代码

    在Web应用中,JFreeReport可以作为服务器端的报表引擎,为用户提供动态生成的报表服务。本资源包含了JFreeReport的源代码,对于想要深入了解其工作原理、进行定制开发或者进行二次开发的开发者来说,具有很高的参考...

    JfreeReport做报表

    - **预览功能**:JFreeReport 提供了预览功能,可以在生成报表后立即查看报表的效果。 - **调整样式**:用户可以在预览过程中调整样式设置,以便更好地满足需求。 - **导出选项**:预览完成后,可以选择将报表导出为...

    JfreeReport学习

    ### JfreeReport 学习知识点 #### 一、概述 JFreeReport 是一款开源的 Java 报告引擎,它能够生成复杂且具有高度定制性的报表。JFreeReport 的设计目标是提供一个简单易用但功能强大的报表解决方案。通过 ...

    jfreereport API

    此外,jFreeReport API还支持自定义组件,这意味着开发者可以扩展其功能,创建出具有独特特性的报表。例如,可以创建自定义图表类型,或者定制化数据处理逻辑,以满足特定业务场景的需求。 总的来说,jFreeReport ...

    JFreeReport小例子

    **JFreeReport的核心特性** 1. **模板设计**:JFreeReport使用XML模板来定义报表结构,使得非程序员也能通过修改XML文件轻松定制报表样式。 2. **数据源支持**:JFreeReport支持多种数据源,如数据库查询结果、CSV...

    jfreereport实例

    **JFreeReport 实例详解** JFreeReport 是一个开源的 Java 报表生成库,它提供了丰富的功能,允许开发者在 Java 应用程序中创建复杂的报告。本实例将深入探讨如何利用 JFreeReport 进行报表设计和生成,以及如何在...

    jfreereport

    pentaho-report-wizard-1.7.0.RC2.jar

    jfreereport-0.8.4_9

    一、JFreeReport核心特性 1. **模板设计**:JFreeReport支持基于XML的报表模板设计,允许开发者使用简单的XML语法定义报表结构,包括表格、图表、文本等元素,极大地简化了报表的创建过程。 2. **数据源支持**:它...

    jfreereport-0.8.7-5.jar

    jfreereport-0.8.7-5.jar,比较新的一个版本,免费使用

    jfreereport-0.8.5-1API

    本文将深入探讨JFreeReport的核心特性,以及如何利用其API来设计和生成PDF格式的报表。 首先,JFreeReport基于JFreeChart库,这使得它在图形化报表的展示上具有天然的优势。JFreeChart提供了一套丰富的图表类型,如...

    JFreeReport学习

    该附件主要讲了JFR的配置,应用,适合初学者,这方面的资料很少,很难得啊

    报表工具 jfreereport 额

    在本文中,我们将深入探讨 JFreeReport 的核心特性、工作原理以及如何在实际项目中应用。 **1. JFreeReport 的主要特性** - **灵活性**:JFreeReport 支持多种数据源,包括数据库连接、XML 文件、Java 对象等,这...

    jfreereport-0.8.7

    JFreeReport 的核心特性** - **模板设计**:JFreeReport 支持基于 XML 的模板设计,用户可以使用简单的标记语言定义报表布局,包括列、行、表格、图表等元素。 - **数据绑定**:它可以连接到各种数据源,如 JDBC ...

    jfreereport-0.8.4_7-all.jar

    jfreereport-0.8.4_7-all.jar jfreereport-0.8.4_7-all.jar

    jfreereport-0.8.3-US

    本文档旨在提供 jFreeReport-0.8.3-US 的详细使用说明,包括下载、安装、基本使用流程以及高级特性等。文档涵盖了从最基础的安装步骤到复杂报告设计的所有方面,适合初次接触 jFreeReport 的用户及有经验的开发人员...

    jfreereport-0.8.5-4.zip

    首先,我们来深入了解 FineReport 的核心特性: 1. **纯 Java 编写**:由于 FineReport 是基于 Java 开发的,因此它可以运行在任何支持 Java 虚拟机(JVM)的平台上,如 Windows、Linux 和 MacOS。这种跨平台能力...

    Web报表开发技术-JFreeReport开发技术实例

    首先,JFreeReport的核心特性包括自定义模板设计、多种数据源支持(如数据库、CSV文件等)、图表生成以及灵活的数据格式化。它的灵活性和易用性使得开发者能够快速构建报表,而无需深入学习复杂的报表语言或API。 ...

Global site tag (gtag.js) - Google Analytics