`

JasperReport学习笔记3-在浏览器生成PDF文件

阅读更多
在浏览器生成PDF文件,主要用了JasperRunManager对象面的runReportToPdfStream方法,在WEB里一般都先用iReport生成jasper文件,这样就去解析JRXML文件了

例子如下
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;

public class JasperReportServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//获得输出流
		ServletOutputStream outputStream = response.getOutputStream();
		//获得输入流
		InputStream inputStream = getServletConfig().getServletContext().getResourceAsStream("JasperFile//JasperReportFile.jasper");
		try {
			
			//生成网页的PDF文件
			JasperRunManager.runReportToPdfStream(inputStream, outputStream, new HashMap(), new JREmptyDataSource());
			//设置PDF格式
			response.setContentType("application/pdf");
			outputStream.flush();
			outputStream.close();			
		} catch (JRException e) {
			StringWriter stringWriter = new StringWriter();
			PrintWriter printWriter = new PrintWriter(stringWriter);
			e.printStackTrace(printWriter);
			response.setContentType("text/plain");
			response.getOutputStream().print(stringWriter.toString());
		}
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}

}
分享到:
评论
3 楼 handsomestar 2010-03-15  
mark 
2 楼 kuskyfei 2010-03-12  
不太详细啊,怎么在web容器里部署啊,
1 楼 tom&jerry 2009-07-20  
很奇怪,在ff中可以正常生成pdf,在ie6则在网页上显示乱麻。

相关推荐

    iReport&JasperReport学习教程--内含四套(PDF版)

    《JasperReport.pdf》可能是JasperReports的综合教程,涵盖了报表设计、数据处理、动态内容生成等多个方面。它可能会详细介绍JasperReports的各种高级特性,如脚本语言的支持、参数化报表、自定义函数和复杂的过滤...

    jasperreport 生成pdf实现下载与打印

    标题中的“jasperreport生成pdf实现下载与打印”是指使用JasperReports库来创建PDF报告,并提供下载和打印功能。JasperReports是一个开源的Java报表工具,它允许开发者设计、生成和导出各种类型的报表,包括PDF、...

    JasperReport浏览器输出PDF为空白页的解决方案

    标题中的“JasperReport浏览器输出PDF为空白页”通常意味着在使用JasperReport生成PDF报表时,浏览器未能正确显示内容。这可能是由多种原因引起的,包括但不限于以下几点: 1. **XML解析错误**:`test.jrxml`文件是...

    iReport+jasperReport之客户端打印 ----数字签名

    完成上述步骤后,签名后的 JAR 文件可以在客户端安全地运行,浏览器会在第一次加载时提示用户有关签名的信息。 #### 四、总结 通过以上步骤,我们可以实现 iReport + JasperReport 的客户端打印功能,并通过数字...

    jasperreport5.6.0生成pdf

    要使用 JasperReport 生成 PDF,需要先生成.jasper 文件,然后再使用 JasperReport 在程序中生成需要的报表格式。下面是使用 JasperReport 生成 PDF 的步骤: 1. 首先,需要生成.jasper 文件,这可以使用 iReport ...

    JasperReport使用手册 - JasperReport - 软件开发 - 深度开源.html

    是一款报表打印组件,是开放源代码组织 中的一个 报表打印工程, JasperReport sf.net 由于 本身并未提供很好的可视化报表设计工具, JasperReport 在之后推出了 iReport ,作为 报表模版编辑软件,具有以下突出的...

    jasperreport 6.4.1报表动态列,以及生成导出html

    这个特定的压缩包文件包含了一个关于如何实现jasperreport动态列以及生成HTML导出的示例,对于使用Eclipse进行Java开发的人员来说,这是一个非常实用的学习资源。 动态列的概念在于,报表的列数不是固定的,而是...

    jasperreport 生成pdf,html,xml,csv,xls报表,myeclipse源码

    3. **编译和运行报表**:将JRXML文件编译成jasper文件,然后在Java代码中加载jasper文件,填充数据并生成报表。 4. **数据绑定和参数传递**:在Java代码中,你需要创建一个JRDataSource对象,通常是基于JDBC的数据...

    Jasperreport+ireport学习笔记3

    标题与描述概述的知识点主要集中在使用JasperReport与iReport工具进行报表设计,特别是如何在报表中集成图表功能。以下是对这一主题的深入探讨: ### JasperReport与iReport简介 JasperReport是一款开源的报表工具...

    Jasperreport+ireport学习笔记1

    ### Jasperreport与iReport整合开发Web报表学习笔记 #### 一、环境配置 为了能够顺利地使用Jasperreport和iReport进行报表设计与开发,首先需要确保开发环境配置正确。 1. **Java JDK环境**: 确保已安装最新版的...

    struts2-jasperreport-plugin-2.1.6.1

    在本人修改的该版本彻底解决了以上问题(和本人上传的struts2-jasperreport-plugin-adjust3.1 相比,稍有变动),此次以相对低分分享于jar及源码【毕竟之前仅jar收取5分,为公平起见,收取4分,望见谅,您可以注册...

    struts2-jasperreport-plugin-2.1.6-adjust1.0

    在官方struts2-jasperreport-plugin-2.1.6基础上,解决问题有二:一是普通报表HTML及Excel格式预览无法显示px图片,二是图形报表HTML格式无法展示;分享于有需要的朋友~~

    jasperReport studio用户手册jaspersoft-studio-user-guide_8.pdf

    - **许可协议**:使用 TIBCO 软件和文档需遵循相应的许可协议条款,包括但不限于单独签署的软件许可协议、点击接受的最终用户许可协议(EULA)或者包含在软件中的“LICENSE”文件中的许可条款。 - **第三方库使用**...

    JasperReport+Servlet Web应用之:打印预览

    - 报告模板(.jrxml文件)编译后生成二进制的.JRBeanCollectionReport或.JasperReport文件,这些文件可以在运行时动态填充数据。 2. **Servlet集成JasperReport** - 在Servlet中,我们需要处理HTTP请求,根据请求...

    struts2-jasperreport-plugin-2.1.6-adjust2.0

    在原有官方struts2-jasperreport-plugin-2.1.6.jar的基础上解决了三个问题:一是普通报表HTML及Excel格式预览无法显示px图片;一是图形报表无法HTML格式预览;一是图形报表一次请求返回多张时存在报表覆盖异常现象;

    使用JasperReport制作PDF所需要的包(1)

    在IT行业中,报表生成是数据分析和业务展示的关键环节,而JasperReport则是一个强大的开源报表工具,能够帮助开发者创建复杂的报告并输出为多种格式,包括PDF。本篇将详细讲解如何利用JasperReport来制作PDF,并介绍...

    jasperreport4.0.2包+ireport 4.0.2 报表

    库文件(如jar包)是将JasperReport集成到Java项目中的关键,而可执行文件则允许用户在没有IDE的情况下运行iReport设计工具。文档可能包括用户手册、API参考和示例教程,帮助开发者快速上手。示例文件通常是一些预...

    jasperreport-2.0.5-project.zip

    1. **JasperReport库文件**:jar包,包含JasperReports的所有类和资源,用于在项目中引入和使用。 2. **示例和模板**:演示如何使用JasperReports的示例报表和模板,帮助开发者快速上手。 3. **文档**:可能包含API...

    JasperReport 学习之路

    JasperReport是一种基于Java的报表生成技术,它被广泛应用于企业级应用中用于生成复杂且格式化良好的PDF文档。对于初学者而言,掌握JasperReport的核心概念和技术要点至关重要。 #### 二、基础知识 ##### 1. 入门...

    jasperReport所需的jar文件

    下面将详细阐述JasperReport所需的jar文件及其在SpringMVC项目中的作用。 1. **JasperReport核心库**:jasperreports-6.x.x.jar是JasperReport的主要库,包含了报表设计、编译和渲染等功能。它提供了API来创建和...

Global site tag (gtag.js) - Google Analytics