使用GDI+创建一套简单的报表系统

上周近一周时间做了一套简单的报表系统用在当前的项目中,做个总结。

之前的报表是使用HTML搭建的,在打印的时候非常不好控制。并且通过针式打印机在1/2纸上打出来的效果很差。所以才有了这个系统。

在做之前遇到的主要问题如下:

  1. HTML容易受到不相干元素或IE版本的影响导致页面变形。之前是使用CSS和Table来固定位置。简单又方便,并且解决了问题。
  2. HTML提供的打印选项非常有限,特别是无法通过编程的方式指定自定义纸张和打印机,这是非常大的困扰。
  3. IE在打印HTML时,生成的是位图,因此打印出来的效果不理想。如果遇到针打和缩放,那么整个报表几乎是不能看的。

这次的系统主要是针对以上三点做的。

 

上图表示了整个报表系统的基本架构。

文档对象模型类似于HTML代码,是用来描述报表具体表现的文档。这是一个定义了结构的XML。

文档处理模块是将XML文件解析成DOM树,并根据DOM绘制报表。

表现层,尚未制作,当前系统是使用了一个Panel来接受输出。

posted @ 2010-01-30 19:51  Fenris  阅读(372)  评论(0)    收藏  举报