浅谈JasperReport核心api工作原理

来源:互联网 发布:赵一涵淘宝店铺 编辑:程序博客网 时间:2024/04/30 04:39

浅谈JasperReport核心api工作原理  


JasperReport核心API

1:JRXmlLoader (xml加载器)

 

       里面有load方法用来加载*.jrxml文件返回  jasperDesign 对象;

      

       +load(String fileName) jasperReports

       +load(File fileName) jasperReport

       +load(InputStream inputStream) jasperReport

      

 

2:JRcompile (接口)

 

       里面定义了方法接受参数返回  jasperReport对象

 

       +compileReport(JasperDesign jasperDesign)

 

3:JasperCompileManager(编译管理器)

 

        提供了一些方法用来编译Report成文件的

 

 

4:JasperFillManager(填充管理器)

 

       主要用来把Report填充到文件里面.

 

 

5:JasperPrintManager(打印管理)

 

       主要是把  JasperPrint对象(相关的数据)打印到pdf.xml等文件中去.

 

 

6:JasperExportManager(导出管理器)

 

       主要是把jasperReport对象(相关的数据)exprot到pdf.xml等文件中去.

 

7:JasperPrint()

   

8: JasperDesign

    设置好页面的属性. For ColumsCount , pageWith and so on .

 

  

*.jrxml

JasperDesign

JasperReport

JasperPrint

Pdf

HTML

Print

Screen

 JRXmlLoad

JRCompile

JRCompileManager

Load

compile

fill

jasperFillManger

jasperPrintManager

      

淡绿色:   执行动作的对象

粉红色:   实体对象

淡蓝色:  动作(执行者发出)

      

 

      

 

 

报表的数据流(在文件和对象上的两个数据转换流程)

*.jrxml

*.jasper

*.jrprint

*.html

*.pdf

jasperDesign

jasperReport

jasperPrint

*.html

*.pdf

      

 

 

 

 

 

 

jasperReport Api detail theory

     

       JRxmlLoad ( load *.jrxml file)

        jasperDesign: JasperDesign

        groupBandDataset: Colection

         +load(String fileName):JasperDesign

         +load(File fileName):JasperDesign

         +load(InputStream is):Jasperdesign

 JRxmlLoad的作用:

1:加载jrxml文件返回JasperDesign对象     

2:封装好了里面的元素

 

      JasperCompileManager(compile *.jrxml file)

        +static compileReportToFile(String sourceFilePath):String

        +static compileReportToFile(JasperDesign jasperDesign, String destFileName)

        +static compileReport(String sourceFile): jasperReport

             +static compileReport(InputStream is):jasperReport     

        +static compileReport(JasperDesign jasperDesign)jasperReport

       +static writeReportToXmlFile(String sourceFile,String descFile)void

       +

JasperCompileManager  的作用

1: 跟据*.jrxml文件本身把他加工成 jasperReport对象(or输出流)

2: 跟据 jasperDesign对象加工成jasperReport对象(or输出流)

 

3: 跟据*.jrxml文件or jasperDesign对象加工成*.jasper文件

实质都是

*.jrmlx 转换成.jasper 文件

 jasperDesign 转换成 jasperReport对象

]

JasperFillManager(fill  jasperReportToJasperPrint)

+fillReportToFile(String jasperFileName,Map params,Connection conn): void

+fillReportToFile(String jasperFileName,String descFileName,Map params,Connection conn)void

+ fillReport(String sourceFile,Connection conn , Map params)jasperPrint

+fillReportToStream(InputStream is , OutputStream os,Conection con , Map params,)

  jasperFillManager  的作用

        1: *.jasper,转化成*.jrprint

        2 jasperReport对象转化成jasperPrint对象

        3: 把上面二者变成输出流

 

JasperExportManager(print对象导出成pdf or html的格式)

       +exportFileToPdfFile(String sourceFile)String

       +exportFileToPdfFile(String sourceFile,String descFile)void

       + exportReportToPdfFile(jasperPrint jp String descFile)void

       +exportReportToPaf(JaperPrint jp)byte[];

       +exportReportToXmlStream(JasperPrint jasperPrint, OutputStream outputStream)void

       + exportReportToHtmlFile(String sourceFile)String

       + exportReportToHtmlFile(JasperPrint jp , String descFileName)

  

jasperExportManager作用

                1:把文件变成pdf.htlm文件


                2: 把jasperPrint对象变成html文件.orpdf文件

0 0