最大限度地减少实施可打印报告的痛苦

时间:2009-12-23 00:43:03

标签: asp.net frameworks reporting printing

在报告方面,您如何最大限度地减少开发过程中的痛苦?

对于Web框架,有一种非常直接的方式来生成内容以及以图形方式设计它;内容通过HTML在语义上表示,设计通过CSS单独指定。并且浏览器与它们呈现输出的方式相当一致(并且不一致性是众所周知的并且可以计划)。甚至还有WYSIWYG编辑器来帮助那些不太懂CSS的图形设计师。

但是我们如何处理印刷内容?

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

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

  • 报告框架在如何布置和分组报告范围方面存在重大限制
  • 可呈现的元素,特别是图表,缺乏我们微调和实现模型外观所需的功能。
  • 在报告中分享样式和布局没有好办法,类似于我们可以通过CSS获得的内容。
  • 可重复使用部件的良好可组合性很难实现。所以我们最终得到了很多副本和粘贴功能继承;每当我们需要对所有报告进行全面更改时,这都是坏消息。

现在,也许有一些kick-ass框架可以消除报告框架的痛苦,但我认为它们都有自己的弱点。您是否有适合自己的框架或流程,并减少报告中固有的痛点?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

选项#2:您可以开始创建XPS文档,无论如何都是基于XML的。如有必要,它们可以很容易地转换为PDF。

选项#3:为你的生命奔跑。(可能不是一个选择)

答案 2 :(得分:0)

i-net Clear Reports是一个很好的产品。它基于Java,但您也可以使用ASP.NET。有一座桥。如果您想使用POCO,.NET版本正在运行。因为Java版本可以与POJO一起使用,即将发布的.NET版本也可以与POCO一起使用。