2009-12-23 57 views
5

当谈到报告时,您如何将开发过程中的痛苦降至最低?尽量减少实施可打印报告的难度

对于web框架,有一个非常简单的方式来生成内容以及图形设计;内容通过HTML语义表示,并且通过CSS单独指定设计。浏览器与它们呈现输出的方式相当一致(并且这些不一致是众所周知的并且可以计划)。甚至还有所见即所得的编辑器来帮助少用CSS的图形设计师。

但我们如何处理打印内容?

在一家公司,我创建了一个像这样工作的流程:脚本通过XML生成语义表示。 XML通过XSLT传递以生成XML-FO文档。然后,这被传递给另一个工具(Apache FOP,我相信)来生成一个PDF。这对那家公司非常有效。

然而,在这家公司,输出外观对管理很重要,我们有一个图形设计师。目前,我们正在使用报表工具(Developer Express中的XtraReports,版本8.1)。这并不坏;它输出到各种格式,有一个所见即所得的设计器,报告是通过C#类实现的,它支持数据绑定到数据集(不幸的是,不是POCO的)。但是,我们有这个设置一些主要痛点:

  • 报告框架有关于如何布局和分组报表带
  • 像样的元素,尤其是图表的主要限制,缺乏我们所需要的功能,微调并实现我们的模型的外观。
  • 没有什么好方法可以在报告之间共享样式和布局,类似于我们可以通过CSS获得的样式和布局。
  • 可重复使用部件的良好可组合性很难实现。所以我们最终得到了很多拷贝&粘贴功能的继承;无论何时我们需要对所有报告进行彻底更改,这都是一个坏消息。

现在,也许有一些kick-ass框架可以消除报告框架的痛苦,但我认为它们都有其弱点。你有一个适合你的框架或过程,并减少报告中固有的痛点吗?

回答

1

Prince XML是一个非常酷的工具,它允许您使用HTML或XML样式的CSS(包括CSS paged media进行打印)并从中生成PDF。

+0

我的天啊,那看起来很完美。我必须试验一下。你个人使用过这个产品吗?如果是这样的话,如果你详细说明你的使用体验,那就太好了。 – Jacob 2009-12-23 01:04:22

+0

我用于一个非常大的项目,并有很好的经验。您可以创建任何您喜欢的HTML/CSS,并制作PDF。支持CSS以及我用过的任何浏览器。该文档有关于它如何支持分页媒体的一些很好的信息:http://princexml.com/doc/7.0/ – Annie 2009-12-23 01:16:24

+0

Dang,3800美元的网站许可证。如果它可以加快我们的开发过程,可能值得,但是唷! – Jacob 2009-12-23 01:23:59

1

选项1:Adobe Acrobat非常好。您可以设计启用PDF的表单,然后使用类似PDFSharp的东西来操作PDF文档。您可以创建将您生成的内容转储到的模板PDF。我之前做过这件事,并且非常成功。我也很好地使用了POCO对象。

选项2:您可以开始创建基于XML的XPS文档。如果有必要,他们可以很容易地转换为PDF。

选项#3:为您的生活运行(可能不是一个选项)

+0

选项3似乎是最明智的选择。不过,我也喜欢选项#1;但是,我不确定如何修改PDF以有效地将其用作模板。如果这是通常做的事情,你能详细说明一下吗?或者提供一篇好文章的链接? – Jacob 2009-12-23 01:10:18

0

i-net Clear Reports是一个很好的产品。它基于Java,但您也可以使用ASP.NET。有一座桥。如果你想使用POCO,.NET版本就可以工作。因为Java版本可以与POJO一起工作,即将到来的.NET版本也可以与POCO一起使用。