ireport导出PDF格式

合集下载

在JSP中导出pdf和excel

在JSP中导出pdf和excel

环境配置1 正确安装配置java的jdk2 将ireport放到c:\ireport3 将ant放到c:\ant(我用的是bea的ant路径是D:\bea\weblogic81\server\ant)4 将jasperreports-1.2.0.jar 放置到当前classpath中(没有加,我使用的Ireport\lib下已经存在了)5 将itext-1.3.1.jar放置到c:\ireport\lib(没有加,我使用的Ireport\lib下已经存在了)6 修改ireport\ireport.bat文件,加入以下内容set JAVA_HOME=C:\j2sdk1.4.2set ANT_HOME=D:\bea\weblogic81\server\set IREPORT_HOME=c:\ireport rem %ANT_HOME%\bin\ant javadocs %ANT_HO ME%\bin\ant iReport我修改的是:set JAVA_HOME=C:\j2sdk1.4.2set ANT_HOME=D:\bea\weblogic81\server\set IREPORT_HOME=F:\backup\iReport-1.2.0 rem %ANT_HOME%\bin\ant javadocs %ANT_HOME%\bin\ant iReport(不过对以上修改,感觉没有什么用处)7 提供一个正常提供服务的数据库现在高版本的ireport是不需要进行配置,可以直接使用的.了解制作报表用的包1 jasperreports-1.0.1.jar jasperreports是iReport的核心内容,jsperreport是一个报表制作程序,用它的规则制定一个xml文件,然后编译生成一个.jsper文件,这个.jsper文件是我们真正使用的,它很象.jsp文件,使用的是它编译后的servlet. (http://jasperreports.sou /)2 itext-1.3.1.jar iText是一个开放源码的Java类库,是用来生成PDF文件的。

iReport使用说明

iReport使用说明

iReport使用说明iReport使用说明1、简介iReport是一个开源的报表设计工具,基于Java开发,可用于创建和各种类型的报表。

本文档旨在提供详细的使用说明,帮助用户熟悉iReport的各项功能并正确操作。

2、安装和配置2.1 和安装Java Development Kit (JDK)2.2 并安装iReport2.3 配置iReport的环境变量3、创建新报表3.1 新建报表项目3.2 设计报表3.2.1 设置报表属性3.2.2 添加数据源3.2.3 设计报表布局3.2.4 添加报表组件3.2.5 设置数据绑定3.2.6 设置报表参数3.2.7 设计报表样式和格式4、数据源管理4.1 添加数据库连接4.1.1 添加JDBC连接4.1.2 添加JNDI连接4.2 添加自定义数据源4.3 设置查询语句4.3.1 使用SQL查询4.3.2 使用JPQL查询5、报表布局5.1 页面设置5.1.1 设置页面大小5.1.2 设置页边距5.1.3 设置纸张方向5.1.4 设置打印设置5.2 添加报表元素5.2.1 文本框5.2.2 图片5.2.3 矩形框5.2.4 表格5.2.5 图表5.2.6 子报表5.2.7 其他组件5.3 设置组件样式和属性5.3.1 设置字体和颜色 5.3.2 设置边框和背景 5.3.3 设置可见性和位置5.3.4 设置超和书签6、数据绑定6.1 绑定静态数据6.2 绑定动态数据6.2.1 单值绑定6.2.2 列表绑定6.2.3 数据表绑定6.2.4 重复区域绑定7、报表参数7.1 添加参数7.1.1 输入参数7.1.2 输出参数7.1.3 多值参数7.2 设置参数默认值7.3 使用参数表达式8、报表样式和格式8.1 设置报表样式8.1.1 标题样式8.1.2 表头样式8.1.3 页脚样式8.1.4 数据行样式 8.1.5 重复区域样式8.2 设置报表格式8.2.1 数字格式8.2.2 日期格式8.2.3 对齐方式8.2.4 条件格式化9、预览和输出报表9.1 预览报表9.2 导出报表9.2.1 导出为PDF9.2.2 导出为9.2.3 导出为Excel9.2.4 导出为Word9.2.5 导出为其他格式附件:2、数据库连接配置文件法律名词及注释:1、JDK:Java Development Kit,Java开发工具包,由Oracle 提供的用于开发Java应用程序的软件包。

Jasperreport导出Html、Pdf、Excel、Rtf、Xml错误汇总

Jasperreport导出Html、Pdf、Excel、Rtf、Xml错误汇总

转自:/blog/static/314120920095525627390/问题一:使用JasperReport生成Html报表后,数据显示正确,但各种线条显示不出来产生原因:在生成HTML页面时JRHtmlExporterParameter.IMAGES_URI参数设置不正确,主要是图片的路径问题。

由JasperReport生成Html时,那些线条是一个名称为px像素的图片,是内置在jasperreports包中的,在IE 显示时以图片的形式显示解决办法:在web.xml中添加如下配置:<servlet><servlet-name>ImageServlet</servlet-name><servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class></servlet><servlet-mapping><servlet-name>ImageServlet</servlet-name><url-pattern>/servlets/image</url-pattern></servlet-mapping>或者将exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");修改为exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);问题二:使用JasperReport生成Html报表后,使用IE打印时报表的各种线条无法打印出来产生原因:和上例一样,由JasperReport生成Html时,那些线条是一个名称为px像素的图片,是内置在jasperreports包中的,在IE显示时以图片的形式显示,打印时浏览器无法打印这些图片。

ireport 生成pdf

ireport 生成pdf

//读取模板文件
FileInputStream fileInputStream = new FileInputStream(reportFile);
String password = "alex@159";
String driverName ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
Class.forName(driverName);
Connection conn = DriverManager.getConnection(url, username, password);
PdfStamper stamp = new PdfStamper(reader, bos);
stamp.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar | PdfWriter.HideWindowUI);
//将模板转成PDF
byte[] pdfStream = JasperRunManager.runReportToPdf(fileInputStream, parameters,conn);
//输出流
list.add(item);
}
System.out.println(list);
System.out.println(rows);
// 报表数据源
JRDataSource jrDataSource = new JRBeanCollectionDataSource(list);
Date mm =null;
if(modifydate.equals("null")){

iReport中文教程

iReport中文教程

iReport中文教程iReport一、介绍iReport是一个能够创建复杂报表的开源项目,它100%使用Java语言编写,是目前全球最为流行的开源报表设计器之一。

由于它丰富的图形界面,你能够很快的创建出任何一种你想要的报表。

以下是iReport一些比较突出的功能:•拖拽式,所见即所得的报表编辑器;•多样的向导来简化复杂的报表设计任务;•超过30个排版和格式化工具;•报表可转换为PDF HTML EXCEL FLASH CSV RTF TXT OpenOffice Java2D JRViewer等格式;•支持所有有效的数据源。

如:JDBC,CVS,Hibernate,JavaBean等;•用户自定义数据源;•无限次数的撤消/重做;•集成脚本(scriptlet)支持;•内置图表支持:超过20种的图表支持。

并可扩展;•国际化:集成超过15种语言;•报表模板与报表库样式管理;•源文件的备份;•文档结构浏览器。

二、开始在本章中我们将介绍iReport运行时所需要的环境、如何下载iReport以及如何在我们的系统中安装使用。

2.1、运行环境(Requirements)iReport运行时需要sun java2 SDK 1.5及以上版本,为了能编译我们的报表文件我们需要完整的安装JDK。

2.2、下载(Download)iReport官方网址:/cap3.html。

2.3、运行(Run)将文件下载到本地解压后,您可以直接双击iReport.exe或者iReport.bat来运行程序。

注:在本文中iReport的版本是3.0.0。

三、报表结构在本章中我们将分析一下报表的结构,看一下报表中每一部分的作用是什么,以及在生成报表的时候每一部分将产生什么样的效果。

栏(Bands)报表被垂直分成若干个部分,每一个部分我们叫它“band”。

每一个band都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。

如下图。

iReport使用教程(示例教程)

iReport使用教程(示例教程)

iReport使⽤教程(⽰例教程)在使⽤ireport的过程中,因为各种功能都要百度,但是⼤家使⽤的例⼦⼜千差万别让⼈很苦恼,所以⽤⼀个简单例⼦贯穿的展⽰⼀下ireport的常见功能。

iReport简介说到iReport不得不先介绍Jasperreport,Jasperreport是⼀个报表制作程序,⽤户需要按照它制定的规则编写⼀个XML⽂件,然后得到⽤户需要输出的格式⽂件。

它⽀持输出的⽂件格式包括PDF,HTML,XML,XLS,CVS等等。

⽽iReport就是⼀个制作Jasperreport的XML⽂件的可视化开发⼯具。

只是⼀个UI。

我使⽤的是iReport 3.5.1,使⽤的⽰例数据表如图:sales表:(⼈名、⼤致结构来⾃帆软电⼦⽂档,如有雷同,⽆意冒犯)sellers表:报表结构左边是view区,联系着主设计区中的各个band区域的数据,以及参数、变量等。

中间是主设计区,通过拖拽控件⾯板可以在此区域进⾏设计,有三种模式:设计(Designer)、源码(Xml)、预览(Preview),设计模式是可视的,源码⽅式可以直接在上修改,预览是对设计好的报表样式进⾏预览,也是⼀个编译的过程;右边是控件⾯板和属性⾯板,可以在此使⽤控件和设置属性。

JasperReport有三个⽅式来保持数据:Field、Paramrter、Variables。

⼀般情况下,Field是⽤作保存从数据源取出来的数据,⽤法是;Parameter是⽤来占位—我们在设计时往往不知道具体的值,那么⽤⼀个参数来占住它们的位置,在执⾏时,从程序或者数据库中传递对应的参数过来,从⽽实现⼀个动态的过程,⽤法是Variables是变量,可以将变量⽤于TextFild表达式中,也可以设置它的属性,使它具有⼀些功能,如求和,求平均数等,⽤法是数据源ireport提供很多种数据源的连接⽅式,点上⽅的数据库标识就可以设置数据库,下⽅的数据标识⽤来写SQL语句获取数据。

iReport使用教程

iReport使用教程

一、iReport简介说到iReport不得不先介绍Jasperreport,Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写 一个XML文件,然后得到用户需要输出的格式文件。

它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等。

而iReport就是一个制 作Jasperreport的XML文件的可视化开发工具。

只是一个UI。

二、安装说明2.1 基本安装现在最新的版本是iReport 0.5.1 (Aug 27, 2005).下载后解压然后在根目录双击iReport.bat就可以用了,但是为了可以使用external ttf font还必须要把 iReport-0.5.1/fonts 加到环境变量里面去。

2.2 了解制作报表用的包下载后到到 iReport-0.5.1/lib 里看看,你就可以发现iReport的真面目了。

(1) jasperreports-1.0.1.jarjasperreports 是iReport的核心内容。

它是一个强力的报表产生工具,他有能力描述丰富内容到屏幕上、到打印机或到PDF, HTML, XLS, CSV和XML文件。

它完全用Java编写的,并可在各种Java应用(包括J2EE或WEB应用)中用来产生动态内容。

它的主要目的是以一种简单而灵活 的方式来帮助创建导向的页面。

JasperReports组织根据在一个XML文件中定义的报表设计通过JDBC来接受来自一个关系数据库中的数据. 为了以数据来填充报表,报表设计必须首先被编译。

jasperreports的官方网站:/(2) itext-1.3.1.jariText是一个开放源码的Java类库,是用来生成PDF文件的。

iText的官方网站:如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。

tTextAsian的官方下载地址:/downloads/iTextAsian.jar(3) jfreechart-1.0.0-rc1.jarjfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG 等各式的文件。

使用iReport制作报表

使用iReport制作报表

iReport制作报表作者:㊣lover ●iReport介绍iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,用Visual J++为Win32平台编写。

iReport允许用户可视化地编辑XML JasperDesign文件,可以和其它数据库通过JDBC通信。

补充:XML JasperDesign文件就是XML格式的报表模板文件(后缀名:.jrxml)。

●安装和设置1.安装JDK,配置环境变量,下载iReport(最新版本0.5.2)(略)2.配置iReport第一次进入系统是英文环境,可以通过【Tools】-【Options】开启配置iReport系统的基本信息对话框。

在“Language”选项里面选择你需要的界面语言,比如“中文(中国)”。

点击【Apply】按钮,系统既把整个界面中文化。

注:中文化的界面比较难看,建议用英文界面。

在配置iReport系统的基本信息对话框中选择【Compiler】Label,之后决定你的报表输出路径,可以把“Use the reports directory for compiles”选择打勾,这样报表的jrxml文件和jasper文件就放置同一文件夹。

(在新建报表时会要求你把jrxml文件保存到指定的文件夹)3.配置JDBC数据源开发报表,肯定要从数据库中取得数据,那么首先得连接数据库,使得iReport可以和JDBC进行通信。

加载数据库对应的JDBC驱动包:通过【Tools】-【Classpath】开启配置iReport系统的ClassPath信息框。

点击“Add JAR/Folder..”按钮,将驱动包加载进来。

比如DB2 7.2数据库,将db2java.zip加到Classpath,然后点击“Save classpath”保存一下配置的信息。

配置Connection/Datasource:通过【Datasource】-【Connection/Datasource】开启配置iReport系统的数据源信息框。

jasperreport导出pdf中文数据不能正常显示的解决方法

jasperreport导出pdf中文数据不能正常显示的解决方法

方法一:1、首先,在用iReport设计报表时将要显示中文数据的地方的属性设置如下:Font name: 宋体(中文字体)PDF font name: STSong-LightPDF Encoding: UniGB-UCS2-H(Chinese Siplified)PDF Embeded: √2、iTextAsian.jar 这个包导入项目的classpath中,没有这个包的话,导出含有中文数据的PDF 会报以下错误:net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : pdfFontName : STSong-LightpdfEncoding : UniGB-UCS2-H(Chinese Siplified)isPdfEmbedded : trueiTextAsian.jar包的下载地址为:/projects/itext/files/extrajars/ExtraJars1.0/iTextAsian.jar/download这种方法虽然能够正常地显示中文信息,但是有一个缺点,就是只有一种字体。

因为iText 官方网站提供的iTextAsian.jar 包中只包含几种简单的亚洲字体,对于简体中文来说,只有宋体。

因此,采用这种方法生成的PDF 中,中文字体只能为宋体,无法显示其他字体。

但这种方法比较简单方法二:使用 TTF Files (True Type Fonts) 字体文件TTF 是系统的标准字体文件,最初由Mac OS 定义,后来Microsoft Windows 普遍采用这种格式来定义字体文件。

这也是目前我们最常用的字体格式。

可以通过制定具体的字体文件的方式来指定字体。

如:<font fontName= ”隶书” pdfFontName= ” STCAIYUN.TTF ” size= ” 18 ″ isBold= ” true ” isPdfEmbedded= ”true” pdfEncoding = ” Identity-H ” />例子中使用的是“华文彩云”字体,STCAIYUN.TTF 为字体文件。

exportpdf 选定部分 转pdf

exportpdf 选定部分 转pdf

在Microsoft Excel中,如果要将选定的部分区域转换为PDF格式,您可以按照以下步骤操作:
1. 打开Excel文档并选中您想要转换为PDF的特定单元格区域。

2. 点击顶部菜单栏中的“文件”(File)选项。

3. 在下拉菜单中选择“保存为”(Save As)或“导出”(Export),具体取决于您的Excel版本。

在较新版本的Excel中,可能会直接显示“导出”选项。

4. 在弹出的窗口或子菜单中,选择“PDF”或“PDF(*.pdf)”作为保存类型。

5. 如果有“选择要打印的区域”或“页面范围”等选项,请确保选择“选定区域”或者手动输入选定区域对应的单元格范围(例如:A1:C10)。

6. 设置好其他PDF选项后(如预览、质量等),点击“保存”按钮,Excel 会将所选区域的内容输出到一个PDF文件中。

请注意,在某些Excel版本中可能需要先设置打印区域,才能精确地仅导出选定部分。

可以通过“页面布局”或“页面设置”选项来设定打印区域。

ireport导出报表

ireport导出报表

HOME页网页搜索Stretch with overflow: 如裏表達式的值的寬度大於欄位的寬度,是否顯示,(換行的)Blank when null, 如果表達式的值是null,是否顯示空白. Textfield Expression: 就是表示這個動態文字欄位的要顯示的內容的表達式., 可以是jrxml中定義的任意的 field, var,和param,我將他設置為上面定義的ptext1.所以在該寫: $P{pext1}, 指引用參數ptext1的值.,即顯示參數ptext1的值同時,也可指定表達式為任何的java表達式,如newjava.util.Date().toString();因為上面指定是參數表達式的值是String型,所以必面用toString(),否則在編譯.jasper會出現ClassCaseException,編譯不了.4.創建組Group一個jrxml一般只有title, pageheader, columnheader, detail, columnfooter, pagefooter, lastpagefooter,summary 這幾個組.是黓認的組.添加組: 選項中報表群組,點擊new.如:我添加了一個 textttt組,在ireport設計頁出現了相應的texttttheader和 footer.5.變量Var變量 $V report中自定義的變量,系統也黓認配置了一些變量Variable class type : 變量的類型Calculation type: 計算函數,好像sql的計算函數一樣,有count, sum, avg等..Reset type: 指變量的作用範圍,Variable expression: 變量的計算對象.如 $F{corekey} ,計算數據庫中有多少個corekey., count(corekey)添加變量後,然後可以通過動態文字欄位放到report上.注意設置動態文字欄位的文字類型要var的數據類型一致.因為 $V(total_count) 放在 columnfooter上,那麼它只計算在當前頁上出現的corekey的個數.並不是全部corekey的個數,要計算全的corekey,可以放在lastpagefooter上.6.中文無論是 $P 還是非$P,只要會出現中文的,都應如下設置:選中 PDFEmbed.簡本: STSong-Light UniGB-UCS2-H繁體: MSung-Light UniCNS-UCS2-H如果 $P的中文是頁面傳進來,要同時設置頁面的ContentType和pageEncoding幾種中文錯誤原因:1)無裝管方的pdf瀏覽器,這樣就可能有部分字體或編碼無裝,出現UnSupportEnCodeing或導出的結果中文位置出現空白.7.動態SQL定義兩個 param, $P{limit_n} , $P{limit_m}, 都為ng.Integersql: select t.* from t_coredata t limit$P{limit_n},$P{limit_m};然後在傳入兩個Integer的參數,就可以實現分頁報表.同理可以實現where條件8.纵排子报表横排的子报表比较简单,纵排的子报表如果处理不好,子报表之间会出现重叠的情况.一个报表可以有多个子报表要求输出完第一个子报表后再输出第二个子报表,然后再输入import ..那些语句.方法: 第一个子报表放在detail中,第二个报表放在 summary中, import..放在lastPageFooter中,注意,如果主父报表没有conn传入,子报表有conn参数,如果不在父报表中传入conn, 子报表区域将会是空白这是给子报表传参数,9.sql 的 order by 问题select t.* from tbl t order by $P{orderby} ,因为jasperreport会默认将 orderby看成 ‘ ?’ 占位符 set进去,那么 orderby就是一个String,有引号,这是不行的. 这时就要用$P!{orderby} 才行10. 如何使用图片?很容易,用Image控件就可以了. 在Image Express里面可以用String来表示图片的路径, 或者用InputStream, File对象.不过不管用File还是String对象, 都不得不用绝对路径, 这显然很不灵活.解决办法是,穿入一个$P的参数,表示图片所在的目录,然后用$P和文件名拼接出完整的绝对路径. 更好的方法是用InputStream, 例如this.getClass().getResourceAsStream("logo.jpg") ,这时只要把图片放在当前.jasper所在的目录就可以了,不必考虑什么参数,什么路径了10.如何使用图表(Graph)JasperReport本身没有图表功能, 只有显示Image的功能(见4.3).iReport里有个Graph向导, 其实质是通过jFreeChart生成Image.更另外, 更直接的做法是放一个Image控件, Image Express Class设置成java.awt.Image, 在Image Expression里通过自定义的类返回java.awt.Image对象. 例如''GraphProvider.getImage($P{REPORT_DATASOURCE},titl e, subtitle.....)''. GraphProvider是自己的类, public static Image getImage(JRDataSource, ....)11.如果显示多个图表在一张报表上显示一个图表和显示多个图表是不同的. 假设Query是select name,price,qty from xxx, 第一张图显示name-price, 第二张图显示name-qty, 如果还是按3.8的方法, 第二张图根本显示不出来! 为什么因为传入的是JRDataSource, 而JRDataSource仅仅是对ResultSet的简单封装, 在第一张图处理完后, 游标已经到了eof位置了, 在开始处理第二张图的时候,就必然抛出游标耗尽的异常! 怎么办自己写个JRDataSourceAdapter, 把JRDataSource对象里面的值预先保存到一个Collection (相当于一个Offline的数据集), 然后把这个Collection传个getImage方法. 具体是, 建一个Variable mydate, 类型是java.util.Map, Calculation Type-System, Initial Value Expression是JRDataSourceAdapter.JRDataSource2Map($P{REPORT_DA TA_SOURCE},new String[]{"NAME","PRICE","QTY"},new Class[]{ng.String.class,ng.Double.class,ng.D ouble.class}), JRDataSource2Map是自己写的一个Adapter. 然后在Image的Expression里面换成如''GraphProvider.getImage(mydata,title, other params...),当然得修改getImage方法12.Export到Excel的问题如何去掉报表头等直接把不需要的Band删除(把其高度设为0). 如果仅仅是export到Excel的时候不需要报表头, 而输出到PDF等仍然需要保留, 那么使用print when expression, 见4.4如果让Excel看起来整齐不要有空白地方! 首先把所有的Field设成一样高, 对齐! 把所在Band的高度也设成和Field一样高, 让Field正好放入Band. 然后调整Field的宽度, 让每个Field都相邻,没有空隙. 最后,记得设置参数: exporter.setParameter(JRXlsExporterParameter.IS_REMOV E_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);4 JasperReport最好的资料是什么??解压jasperreports-0.5.0-project.zip 后目录jasperreports\demo\samples下的例子,看看这些例子是你关于这个报表工具提升能力的最好最快的方式,下面我简要说一下各个例子说的是什么以及有什么用alterdesign 该例子演示了报表编译后,在报表展现的时候如何动态的控制其中的元素比如让某一个矩形变色或其他 antcompile 演示如何让 ant 来编译chart演示了如何在报表中添加图像,JasperReport是用Scriptlet的方式往报表中添加图像,而Scriptlet是调用也是开源的jfreechart的Api来生成图形,去jfreechart看一下,该工具能的图形生成能力也很强datasource 演示了如何在报表中使用各种数据源,能够使用beanarraybeancollection,也可以用自定义的数据源,只要继承了JRDataSource的两个接口,这个能给用户提供非常大的灵活性,报表的数据不用局限于一条Sql语句,也可以使用存储过程,对生成报表中的数据也可以排序,二次检索,等等fonts 各种字体的演示horizontal 演示了水平分栏的报表,演示报表中分了三栏,其中还用到了textFieldExpression,就像if语句的效果来选择输出的内容hyperlink 演示了各种样式的链接images 演示了如何在报表中加入图像以及图像的显示方式 jasper 演示了分组分栏的报表,演示中用了2次groupjcharts 演示了调用另一个开源的API jcharts来往报表中加入分析图形,原理同上chart,如果jfreechart都还不能满足你分析图形的要求,那到jcharts里找找看吧,说不定有landscape 演示横向的报表nopagebreak 演示比如在IE中不分页的方式打印出报表的内容,通过这个演示也可以了解报表输出如何配置参数noreport 演示了如何直接通过java程序生成JasperPrint对象来输出noxmldesign 演示了如何直接通过java程序生成JasperDesign对象来动态的生成报表,根据这个例子,用户可以作出自定义选列的报表,当然比较麻烦,而且肯定自己要补充他的API 库(JasperReport真是强大啊,呵呵)pdfencrypt 演示了pdf的输出方式,可以给pdf文件加密码,其实就是pdf输出方式的参数配置,具体有那些参数可配置,去看看API吧printservice演示了如何直接打印报表踩窝窝踩窝窝绿瘦价格|。

stireport linux stipdfexportservice 打印空白

stireport linux stipdfexportservice 打印空白

针对stireport、linux和stipdfexportservice这些关键词结合在一起,并且打印输出结果为空白的情况,进行详细分析时,我们需要了解这些组件的上下文。

stireport通常不是一个标准的Linux 内置服务或命令,但从名称上看,它很可能是一个特定软件或应用的报表生成工具,比如用于商业智能、数据报表导出等用途。

stipdfexportservice同样似乎是一个特定应用程序的服务组件,负责将某种格式的数据转换成PDF 并进行打印。

在某些企业级解决方案中,这样的服务可能会负责处理来自各种业务系统的报表请求,并生成PDF 文件以供打印或其他用途。

打印输出空白的问题可能涉及到以下几个方面:1.数据源问题:o如果stireport无法获取有效数据,或者数据格式异常,则生成的PDF 文件可能没有实际内容,导致打印出来的页面是空白的。

2.PDF 生成错误:o stipdfexportservice在生成PDF 文件过程中可能出现故障,例如解析模板失败、字体缺失、图像资源加载不到等,导致生成的PDF 内容缺失。

3.打印驱动兼容性问题:o即使PDF 文件本身没问题,但如果打印驱动不能正确识别和渲染该PDF 文件的内容,也可能导致打印出来是空白页。

4.硬件故障或配置问题:o打印机硬件本身的故障如前面提到的感光鼓、激光器等部件问题,或者是打印机设置不正确(如双面打印设置错误),都可能导致打印空白。

5.权限问题:o如果服务运行时没有足够的权限访问必要的文件或设备,可能无法正确执行打印任务。

排查此类问题的步骤可以包括:•检查stireport的生成过程,确认报表数据是否完整无误。

•查看stipdfexportservice的日志文件,寻找是否有错误提示或警告信息。

•直接查看生成的PDF 文件内容,验证其是否包含了应该打印的信息。

•使用不同的PDF 阅读器测试PDF 文件,看看是否所有阅读器都能正确显示内容。

ireport导出excel,html.pdf等格式完整实例

ireport导出excel,html.pdf等格式完整实例

ireport导出excel,html.pdf等格式完整实例本例报表中的数据是List传入的值,不是通过报表执行查询的数据。

本例是基于struts使用的。

利用ireport工具导出excel一、导入irport相关的jar包导入common-digester-1[1].7.jarcommons-javaflow-200060411.jaritext-1.3.jariTextAsian.jarjasperreports-1.2.4.jarjcommon-1.0.16.jarjfreechart-1.0.13.jarpoi-2.0-final-20010126.jar需要注意的是:jar包的版本一定要注意,如果本版不同的话,很容易引起错误的。

二、在ireport中画出,需要显示的字段样式(网上有很多这样的例子,这里就不说怎么制作ireport文件了)如下是我制作的文件样式,编译生成.jasper我们需要的这个xx.jasper 文件。

三、①当页面点击“导出”时,会执行action中的exportexcel ()方法。

(需要注意的是如果页面用的是ajax请求action 那么,不一定能够出现下载页面,但是我没有验证,因为以前我做过的是poi导出excel时用ajax请求action时不行,所以最好不要用ajax请求action)[java] view plaincopy/** *导出数据* @param "excel"导出文件文件格式* @param "intentpro2.jasper" ireport编译生成的.jasper文件* @param alllist 需要导出的数据的list 值* @param fianceInfo 当导出是默认的文件名称*@return String */ public Stringexportexcel(){ JasperHelper.exportmain("excel", "intentpro2.jasper", alllist, "fianceInfo"); return SUCCESS; }②JasperHelper类[java] view plaincopyimport java.io.File; importjava.io.FileInputStream; importjava.io.FileNotFoundException; importjava.io.IOException; import java.io.InputStream; import ng.reflect.Field; import java.util.Collection; import java.util.HashMap; import java.util.List; importjava.util.Map; importjavax.servlet.ServletOutputStream; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importorg.apache.log4j.Logger; importorg.apache.struts2.ServletActionContext; importorg.jfree.util.Log; importcom.opensymphony.xwork2.ActionContext; import mon.dao.impl.BaseDaoImpl; import net.sf.jasperreports.engine.JRDataSource; importnet.sf.jasperreports.engine.JRException; importnet.sf.jasperreports.engine.JRExporter; importnet.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JasperExportManager;import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; importnet.sf.jasperreports.engine.base.JRBaseReport; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSo urce; importnet.sf.jasperreports.engine.export.JRHtmlExporter; importnet.sf.jasperreports.engine.export.JRHtmlExporterParameter; importnet.sf.jasperreports.engine.export.JRRtfExporter; import net.sf.jasperreports.engine.export.JRXlsExporter; import net.sf.jasperreports.engine.export.JRXlsExporterParamete r; import net.sf.jasperreports.engine.util.JRLoader;public class JasperHelper { private static Logger logger = Logger.getLogger(JasperHelper.class);public static final String PRINT_TYPE = "print";public static final String PDF_TYPE = "pdf";public static final String EXCEL_TYPE = "excel";public static final String HTML_TYPE = "html";public static final String WORD_TYPE = "word";public static void prepareReport(JasperReport jasperReport, String type) { logger.debug("The method======= prepareReport() start.......................");/* * 如果导出的是excel,则需要去掉周围的margin */ if("excel".equals(type)) try{ Field margin =JRBaseReport.class .getDeclaredField ("leftMargin"); margin.setAccessible(true); margin.setInt(jasperReport, 0); margin =JRBaseReport.class.getDeclaredField("topMargin"); margin.setAccessible(true);margin.setInt(jasperReport, 0); margin = JRBaseReport.class.getDeclaredField("bottomMargin"); margin.setAccessible(true);margin.setInt(jasperReport, 0); Field pageHeight =JRBaseReport.class .getDeclaredField ("pageHeight");pageHeight.setAccessible(true);pageHeight.setInt(jasperReport,2147483647); } catch (Exception exception) { } }/** * 导出excel */public static void exportExcel(JasperPrintjasperPrint,String defaultFilename, HttpServletRequest request, HttpServletResponse response) throws IOException, JRException{ logger.debug("执行导出excel The method======= exportExcel() start.......................");/* * 设置头信息*/ response.setContentType("application/vnd.ms-excel");String defaultname=null;if(defaultFilename.trim()!=null&amp;&amp;defaultFilename !=null){ defaultname=defaultFilename+ ".xls"; }else{ defaultna me="export.xls"; } String fileName = new String(defaultname.getBytes("gbk"),"utf-8");response.setHeader("Content-disposition", "attachment; filename=" + fileName); ServletOutputStream ouputStream =response.getOutputStream();JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_P RINT, jasperPrint);exporter.setParameter(JRExporterParameter.OUTPUT_S TREAM,ouputStream);exporter.setParameter(JRXlsExporterParameter.IS_REM OVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE );exporter.setParameter(JRXlsExporterParameter.IS_ONE_ PAGE_PER_SHEET,Boolean.FALSE);exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);exporter.exportReport();ouputStream.flush();ouputStream.close(); } /*** 导出pdf,注意此处中文问题,* 这里应该详细说:主要在ireport里变下就行了。

用iReport生成PDF和EXCEL

用iReport生成PDF和EXCEL

/*** Servlet implementation class reportServlet*/public class ReportServlet extends HttpServlet {private static final long serialVersionUID = 1L;private String contextPath ="";public ReportServlet() {super();}@Overridepublic void init() throws ServletException {super.init();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {exportReport(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {exportReport(request, response);}private void exportReport(HttpServletRequest request, HttpServletResponse response){ try {String type=request.getParameter("type");String sid=request.getParameter("sid");ReportObj rpt=(ReportObj)request.getSession().getAttribute(sid);if(rpt!=null){contextPath =this.getServletContext().getRealPath("/");contextPath +="/WEB-INF/jasper/";if(!"".equals(rpt.getJasperSubReportFile())){rpt.getParameters().put("SUBREPORT_DIR",contextPath+rpt.getJasperSubReportFile());}if("PDF".equalsIgnoreCase(type)){exportPDF( response,rpt);}else if("EXCEL".equalsIgnoreCase(type)){exportEXCEL( response,rpt);}}} catch (Exception e) {e.printStackTrace();}}private void exportEXCEL(HttpServletResponse response,ReportObj rpt){try {JasperReport jasperReport = (JasperReport) JRLoader.loadObject(contextPath + rpt.getJasperReportFile());JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, rpt.getParameters(), new JRBeanCollectionDataSource(rpt.getList(),false));// 设置相应参数,以附件形式保存EXCELOutputStream ouputStream = response.getOutputStream();response.setContentType("application/vnd.ms-excel");response.setCharacterEncoding("UTF-8");response.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode(rpt.getExportFileName(), "UTF-8") + ".xls\"");JRXlsExporter exporter = new JRXlsExporter();exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM,ouputStream);exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Bo olean.TRUE); // 删除记录最下面的空行exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);// 删除多余的ColumnHeaderexporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);/ / 显示边框exporter.exportReport();// 导出ouputStream.close();// 关闭流} catch (Exception e) {e.printStackTrace();}}private void exportPDF(HttpServletResponse response,ReportObj rpt){try {JasperReport jasperReport = (JasperReport) JRLoader.loadObject(contextPath + rpt.getJasperReportFile());JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, rpt.getParameters(), new JRBeanCollectionDataSource(rpt.getList(),false));// 设置相应参数,以附件形式保存PDFOutputStream ouputStream = response.getOutputStream();response.setContentType("application/pdf");response.setCharacterEncoding("UTF-8");response.setHeader("Content-Disposition", "attachment; filename=\""+ URLEncoder.encode(rpt.getExportFileName(), "UTF-8") + ".pdf\"");JRPdfExporter exporter = new JRPdfExporter();exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,ouputStream);exporter.exportReport();// 导出ouputStream.close();// 关闭流} catch (Exception e) {e.printStackTrace();}}}。

如何从SAPERP系统中输出PDF格式文件

如何从SAPERP系统中输出PDF格式文件

如何从SAP ERP系统中输出PDF格式文件企业在应用SAP ERP时,可能需要大量打印通信文档如催款单,对账单,付款通知等。

通过生成PDF格式的通信文件然后用电子邮件的方式发给客户或供应商,不仅大在降低打印成本和邮递费用,加快了与业务合作伙伴的信息沟通,而且还能可达到环保的目的,可谓一举三得。

在SAP ERP中安装PDF生成器的方法如下:1、使用T-Code:SPAD启动打印配置管理2、在“Configuration” 菜单下,执行"Output Device"3.按“修改”按钮进入修改模式,用"Output Device " 菜单上"Create"4.输入Output Device 的命字,例如LP02;设置Device Type 为“CNSAPWIN : MS Windows driver via SAPLPD” ,并将Device Class设置为"Standard".5. 在"Access Method" Tab的参数中设置如下:F 前端打印表示在打印时可以手动选择本地计算机上安装的打印机。

6. 需要打印时,系统会提示选择客户端安装的PDF生成器,用户可选择立即打印;也可选择提交到打印池中,稍后用T-Code:SP02手工执行批量打印。

PDF生成器向大推荐PDF XChnageF 3.0,可以设置批量生成文件到指定文件夹,单张纸面上打印多页内容等,比Adobe Acrobat带的PDF生成器更强大。

方案二:用SAP报表读取Print Pool中的打印附列,生成文件。

优点1. T-code:SE38 ,执行报表,RSTXPDFT4,输入打印作业的Spool no. (用T-Code:SP02可以查看Spool no.)2. Function Module:SX_OBJECT_CONVERT_OTF_PDF。

iReport_4.5.1 使用

iReport_4.5.1 使用

iReport 4.5.1 使用说明目录目录1.报表设计器使用基础 (1)1.1.系统配置 (1)1.1.1.oracle数据库驱动 (1)1.1.2.sqlserver数据库驱动 (3)1.1.3.向工程中复制Jar包 (3)1.2.创建新报表 (3)1.3.创建数据连接 (6)1.4.设置查询语句 (9)1.5.报表各部分组成 (10)1.6.制作明细表 (11)1.6.1.添加表头 (11)1.6.2.添加字段 (12)1.6.3.添加列名 (13)1.6.4.设定字体 (13)1.6.5.设定边框 (14)1.6.6.设定栏高 (14)1.6.7.设置字段域 (15)1.7.参数的使用 (16)1.7.1.添加参数 (16)1.7.2.程序中传递参数 (17)1.7.3.报表模板接收参数 (17)1.8.自定义变量的使用 (18)1.8.1.顺序号 (18)1.8.2.小计 (19)1.8.3.合计 (21)2.报表设计器进阶 (22)2.1.分组报表 (22)2.2.图形报表 (27)2.3.子报表 (32)2.3.1.制作父报表 (32)2.3.2.制作子报表 (32)2.3.3.子报表参数设置 (38)2.3.4.子报表自适应行高 (39)3.特殊报表设计 (41)3.1.父子表关联 (41)3.2.统计报表 (42)3.2.1.通用统计报表 (42)3.2.2.动态统计报表 (44)1.报表设计器使用基础iReport安装完毕后,会在桌面放置一个图标,双击此图标,即可运行iReport报表设计器。

报表设计器主界面如下图。

1.1. 系统配置1.1.1.oracle数据库驱动如果需要为Oracle数据库中的数据制作报表,则需要先将Oracle数据库驱动jar包加入到iReport中。

将ojdbc14.jar复制到C:\Program Files\JasperSoft\iReport-4.5.1\ireport\libs文件夹下。

ureport导出公式

ureport导出公式

ureport导出公式
ureport是一个非常有用的工具,可以帮助用户导出各种公式。

它提供了一种简单易用的方法,让用户能够轻松地将公式导出为各种格式,如PDF、Excel和Word等。

使用ureport,用户只需简单地输入公式,选择所需的导出格式,然后点击导出按钮即可完成导出过程。

与其他类似的工具相比,ureport具有许多独特的优点。

首先,它支持多种不同的公式格式,包括数学公式、物理公式、化学公式等。

这意味着用户可以使用ureport导出各种不同领域的公式,而不仅仅局限于某个特定领域。

ureport还具有强大的导出功能。

用户可以根据自己的需求选择不同的导出格式,并且可以对导出文件进行自定义设置。

例如,用户可以选择导出文件的页面大小、字体样式和行距等。

ureport还支持批量导出功能。

用户可以一次性导出多个公式,而不需要逐个操作。

这对于需要导出大量公式的用户来说,非常方便实用。

除了上述功能外,ureport还具有友好的用户界面和简单易懂的操作流程。

即使是初学者也可以轻松上手,使用ureport导出自己需要的公式。

ureport是一个功能强大、易于使用的公式导出工具。

它能够满足用
户各种不同的导出需求,并且具有丰富的导出格式和自定义设置。

无论是学生、教师还是研究人员,都可以通过ureport轻松地导出各种公式,提高工作效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档