使用Jfreechartpioitext生成报表

上传人:ss****gk 文档编号:236131005 上传时间:2022-01-06 格式:DOCX 页数:7 大小:56.29KB
返回 下载 相关 举报
使用Jfreechartpioitext生成报表_第1页
第1页 / 共7页
使用Jfreechartpioitext生成报表_第2页
第2页 / 共7页
使用Jfreechartpioitext生成报表_第3页
第3页 / 共7页
使用Jfreechartpioitext生成报表_第4页
第4页 / 共7页
使用Jfreechartpioitext生成报表_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《使用Jfreechartpioitext生成报表》由会员分享,可在线阅读,更多相关《使用Jfreechartpioitext生成报表(7页珍藏版)》请在金锄头文库上搜索。

1、使用 Jfreechart + pio + itext 生成报表Jfreechart 的各种对象和属性23:5000:0000:1000:2000:3000:4000:5001:0001:1001:2001:3001:4001:5002:0002:1002:2002:30RNC=0fRNCJNFO=0 RNC=1 ,RNCJNF0=1 RNC=2,RNC_INFO=2 RNC=2tRNCJNFO=2Chart标题110100908070605040302010这是一个JFreeChart对彖,上面的“ chart标题”是Title对彖,中间区域是Plot对彖(包括绘图区域和坐标轴区域),下面的

2、方块区域是I-egendTitle对象,是_种SubTitle对象。每个JFreeChart对象只能有1个Title对象,1个Plot对象(图表主体),可以有多个SubTitle对 象。JFreeChart对象可以进行的操作有:背景的设賈(背景颜色、背景图片、透明度等)、边框的设置(是否 可见.笔画.Paint等).濱染方式的设置.标题对彖的设置.子标题对彖的増删查操作。1 . Plot对彖Plot对象是图形的绘制结构对彖。JFreeChart中含有很多不同的Plot对彖,每一种图形对象中的Plot对象 都在实例化的时候创建。所有的Plot共有的操作有:背景设置(背景颜色、背景图片、透明度等)

3、、前景透明 度设置、无数据存在怡况的设置(显示的字符内容、显示的字体、显示的Point )、放大缩小比例的设置,大部 分Plot对象还冇设置Datset 设置Renderer对象操作。JFreeChart中有18种Plot抽彖类的具体实现类。Plot的具体实现类主要由以下重要对彖组成: Renderer对象(图形的绘制单元绘图域)Datset (图形的数据源),Domain Ax is (区域轴,相当于x轴),RangeAxis (范围轴,相当于y轴)。不同的Plot对象组成方式不尽相同,有的不含有Renderer对象,比如 CompassPlot、ContourPlot、MultiplePi

4、ePlot、PiePlot 等,冇的不含冇 Domain Ax is、RcingeAxis 对 象,另外除/ Fast Scat terPlot类都含冇Datset对象,FastScatterPlot使用float的二维数组充当数据源。 尤其说明一点,饼状图相关的 Plot 对象(MultiplePiePlot、PiePlot、PiePlot3D、RingPlot )中都不 含有 Renderer 对象、Domain Ax is 对象、RangeAxis 对象。一般来说,Datset对象存储数据模型,Renderer对象存储显示模型,Plot对象根据Datset对象、 Renderer对象完成

5、画图操作。仍以上面的图形讲解Plot对彖的组成。上图的中间区域是是一个XYPlot对象。其中的折线部分即是图形的绘制单元Renderer对象。X轴是 Domain Ax is , y轴是RangeAxis ,其中Datset对象属于数据模型范畴,是UI不可见对象。该图中的plot背 呆色、网格线的各种设置可以通过XYPlot对象木身完成。下面讲解Renderer对彖、Axis对象(X轴、y轴都属于Axis对象),Datset对象在后续章 节中专门讲解。2、Renderer 对象Renderer对象是图形的绘制单元。JFreeChart提供J两个接口 CategoryltemRenderer和X

6、YItemRenderer 1个抽象类AbstractRenderer供具体的Renderer类实现,给出了将近50种具体实现类。-般來说Renderer对象可进行的操作有:对item label (下图中的柱状图上的红色数字即为item label 的示例)的默认设置(item label的产生方式、是否可见、字体、Paint、正反向item label的位置设置等)、 绘制图形的边框默认设置(Paint、笔画、是否可见等)、绘制图形的默认设置(形状、笔画、是否可见、对应 的图例中是否可见等,折线图还冇线条是否可见、折点图形是否可见、折点图形是否填充、折点图形的形状、对 应的图例中线条是否可

7、见、图形是否可见、整体是否可见等)、以及对指定item label的设置、指定绘制图形 的设置。可以说和具体绘制的图形相关的属性都可以通过Renderer对象设置。不同的Renderer的实现类实现了不同的显示方式,在含冇Renderer对象的JEreeChcirt对象中,R enderer对象决定/ JEreeChart对象的显示方式。例如:柱状图的Plot对象中默认的Renderer对象是 CategoryTtemRenderer对象,通过设置Plot对象的Renderer对象为LineAndShapeRenderer ,则柱状图变为 线图。使用中一般不需要显式的实例化-个R endere

8、r对彖,一般通过JFreeChart对象的Plot对象调用现有 的R enderer对象进行重新设置等操作。3、Axis对象JEreeChart捉供了两种类型的坐标轴:CategoryAxis (等级轴)和ValueAxis (值轴),ValueAxis又冇 3个子类:DateAxis (时间轴)、NumberAxis (数字轴)、PeriodAxis (时期轴)。这些坐标轴还冇更详 细的子类,不再一一列举Axis对彖可进行的操作有:标题的设置(内容、字体、Paim、显示角度等)、坐标线的设置(笔画、Paints 是否可见等)、刻度线的设置(是否可见、笔画、Paint.位于绘图区域的长度、位于

9、绘图区域外的长度等)、刻 度标示的设置(笔画、Paint.字体、与轴的距离等)、坐标轴范围设置等。CategoryAxis对象还可以进行的操作冇:刻度标示间距设置(最小间距、最大间距、指定间距)等。ValueAxis对彖可进行的操作有:轴端设置(显示的图形形状)、范围设置(是否自动产生范围、自动产生 的最小范围、最大范围、指定确定范围、指定范围大小等)、间隔设置(是否自动产生间隔、指定间隔)等。DateAxis对象还有对时间刻度显示格式的设置操作。Pio的使用主要针对Excel生成报表。由于大家对excel都比较熟悉,所以可直接参考程序代码。Itext 1、刖曰在企业的信息系统中,报表处理一直

10、占比较重要的作用,本文将介绍一种生成PDF报表的Java 组件-iTexto通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或下 载得到生成的报表,这样就很好的解决了 B/S系统的报表处理问题。二、iText 简介iText是著名的开放源码的站点sourceforge 一个项目,是用于生成PDF文档的一个java类库。 通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。iText 的安装非常方便,在 - download 网站上下载 iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的

11、路径,在程序中就可以使用iText 类库了。三、建立第一个PDF文档用iText生成PDF文档需要5个步骤: 建立 com.lowagie.text.Document 对象的实例。Document document = new Document(); 建立一个书写器(Writer)与document对彖关联,通过书写器(Writer)可以将文档写入到磁盘 中。PDFWriter.getInstance(document, new FileOuTputStream(Helloworld.PDF); 打开文档。document.open(); 向文档中添加内容。document.add(new P

12、aragraph(HHello World”); 关闭文档。document.close();通过上面的5个步骤,就能产生一个Helloworld.PDF的文件,文件内容为“Hello World”。建立 com.lowagie.text.Document 对象的实例com.lowagie.text.Document对象的构建函数有三个,分别是:public Document();public Document(Rectangle pageSize);public Document(Rectangle pageSize,int marginLeft,int marginRight,int ma

13、rginTop, int marginBottom);构建函数的参数pageSize是文档页而的大小,对于第一个构建函数,页而的大小为A4,同 Documenl(PageSize.A4)的效杲一样;对于第三个构建函数,参数 marginLefl、marginRight marginTops marginBottom分别为左、右、上、下的页边距。通过参数pageSize可以设定页面大小、面背景色、以及页面横向/纵向等属性。iText定义了 A0-A10 AL、LETTER HALFLETTER、_llxl7、LEDGER NOTE、B0-B5、ARCH_AARCH_E、 FLSA 和 FLSE

14、等纸张类型,也可以通过 Rectangle pageSize = new Rectangle(144, 720);自定义纸张。 通过Rectangle方法rotate()可以将页面设置成横向。书写器(Writer)对象一旦文档(document)对象建立好之后,需要建立一个或多个书写器(Write对象与之关联。通 过书写器(Writer)对象可以将具体文档存盘成需要的格式,如com.lowagie.text.PDEPDFWriter可以 将文档存成PDF文件,comJowagie.text.htrnl.HtrnlWriter可以将文档存成html文件。设定文档属性在文档打开之前,可以设定文档的

15、标题、主题、作者、关键字、装订方式、创建者、生产者、 创建日期等属性,调用的方法分别是:public boolean addTitle(String title)public boolean addSubject(String subject)public boolean addKeywords(String keywords)public boolean addAuthor(String author)public boolean addCreator(String creator)public boolean addProducer()public boolean addCreationDate()public boolea n addHeader(String n ame, String con tent)其中方法addHeader对于PDF文档无效,addHeader仅对html文档有效,用于添加文档的头 信息。当新的页面产生之前,可以设定页面的大小、书签、脚注(HeaderFooter)等信息,调用的方法是:public boolean setPageSize(Rectangle pageSize)public boolean add(Watermark w

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号