- 浏览: 1208281 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (718)
- HTML (13)
- JS基础 (23)
- JS应用 (40)
- AJAX (6)
- JSP相关 (12)
- JAVA基础 (52)
- JAVA应用 (74)
- APPLET (11)
- SWING\RCP (2)
- JAVA反射 (6)
- 设计模式 (26)
- 数据库设计 (20)
- Struts (35)
- Struts2 (12)
- Spring (22)
- Hibernate (45)
- Ibatis (18)
- mybatis (3)
- SSH (8)
- UML (5)
- WebService (3)
- XML (16)
- Log4j (7)
- WEB容器 (26)
- 数据结构 (36)
- Linux (34)
- Ruby on Rails (1)
- 其它技术 (27)
- IDE配置 (15)
- 项目实战 (2)
- Oracle (69)
- JAVA报表 (7)
- Android学习 (2)
- 博客链接 (1)
- 网络基础 (1)
- WEB集群 (1)
- .Net开发 (11)
- PB (4)
- 系统构建 (15)
最新评论
-
jnjeC:
牛逼啊哥们,讲得太好了
Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包 -
九尾狐的yi巴:
很好 感谢!
Itext中文处理(更新版) -
luweifeng1983:
有用的,重启一下嘛。
设置eclipse外部修改文件后自动刷新 -
Master-Gao:
设置了也不管用,怎么破呢?
设置eclipse外部修改文件后自动刷新 -
aigo_h:
锋子还有时间写博客,还是很闲哈!
Add directory entries问题
一、直接导出成PDF
import java.io.FileNotFoundException; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; public class ItextProduce { public static void main(String[] args) { Document doc = null; try { doc = new Document(); PdfWriter.getInstance(doc, new FileOutputStream("C:\\itext.pdf")); doc.open(); doc.add(new Paragraph("Hello World")); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } finally { doc.close(); } } }
二、由Servlet导出PDF
package com.lwf.eus.servlet; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfWriter; public class ListRocarsReportServlet extends HttpServlet { private static final long serialVersionUID = 1L; public ListRocarsReportServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Document doc = new Document(); ByteArrayOutputStream ba = new ByteArrayOutputStream(); try { PdfWriter writer = PdfWriter.getInstance(doc, ba); doc.open(); doc.add(new Paragraph("Hello World")); } catch (DocumentException e) { e.printStackTrace(); } doc.close(); response.setContentType("application/pdf"); response.setContentLength(ba.size()); ServletOutputStream out = response.getOutputStream(); ba.writeTo(out); out.flush(); } }
三、由JSP导出成PDF
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="java.io.ByteArrayOutputStream, com.itextpdf.text.Document, java.io.DataOutput,java.io.DataOutputStream, com.itextpdf.text.Paragraph, com.itextpdf.text.DocumentException, com.itextpdf.text.Document.*, com.itextpdf.text.pdf.*"%> <% response.setContentType("application/pdf"); Document doc = new Document(); ByteArrayOutputStream ba = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(doc, ba); doc.open(); doc.add(new Paragraph("Hello World")); doc.close(); DataOutput output = new DataOutputStream(response.getOutputStream()); byte[] bytes = ba.toByteArray(); response.setContentLength(bytes.length); for (int i = 0; i < bytes.length; i++) { output.writeByte(bytes[i]); } %>
jsp导出时会报错: org.apache.jasper.JasperException: java.lang.IllegalStateException: getOutputStream() has already been called for this response org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
报错原因:
JSP调用response.getWriter与response.getOutputStream()相冲突! 解决办法:
在使用完输出流后调用以下两行代码即可: out.clear(); out = pageContext.pushBody();
代码修改为:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ page import="java.io.ByteArrayOutputStream, com.itextpdf.text.Document, java.io.DataOutput,java.io.DataOutputStream, com.itextpdf.text.Paragraph, com.itextpdf.text.DocumentException, com.itextpdf.text.Document.*, com.itextpdf.text.pdf.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <% response.setContentType("application/pdf"); Document doc = new Document(); ByteArrayOutputStream ba = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(doc, ba); doc.open(); doc.add(new Paragraph("Hello World")); doc.close(); DataOutputStream output = new DataOutputStream(response.getOutputStream()); byte[] bytes = ba.toByteArray(); response.setContentLength(bytes.length); for (int i = 0; i < bytes.length; i++) { output.writeByte(bytes[i]); } output.flush(); //out --jsp out.clear(); out = pageContext.pushBody(); %> </body> </html>
发表评论
-
JAVA短信发送及JAVA发送http请求与处理
2016-06-22 14:34 520JAVA发送HTTP请求与处理参考: http://ww ... -
Java Zip应用
2016-06-22 14:30 548应用系统中使用jdk原生 ... -
模拟tomcat进行http请求及响应处理:BufferedReader类的readLine在socket网络编程应用时发生阻塞
2016-05-11 15:04 1666最近写一个简单的程序模拟tomcat进行http请求及响应 ... -
Castor-xml映射出现节点重复问题解决
2015-08-13 16:24 1187最近在使用Castor-xml生成XML时发现生成的格式不 ... -
Add directory entries问题
2014-08-05 10:24 1842用spring注解的项目,eclipse可以运行,打成jar ... -
BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
2013-01-25 16:21 857http://www.cnblogs.com/fayf/ar ... -
java.net.BindException: Cannot assign requested address
2012-06-13 14:10 868转:http://wgkgood.blog.51cto ... -
Duplicate name in Manifest: Depends-On
2012-06-13 13:13 1613解决方法:http://ww2.sjc.edu/faculty ... -
java tree
2011-11-16 02:01 1266import java.util.ArrayList; im ... -
jacob操作word和excel
2011-07-28 17:00 872http://danadler.com/jacob/ -
获得PrepareStatement 的最终执行语句
2011-07-04 10:07 984方法一:http://www.blogjava.net/ ... -
Non-terminating decimal expansion; no exact representable decimal result
2011-06-24 16:03 2580由于需要处理精度比较高的浮点数,所以弃用double类型,改用 ... -
JXLS应用示例
2011-06-03 01:41 3422JXLS在循环的记录前加序号: <jx:f ... -
月份加减方法处理
2011-06-03 00:52 896private static String monthAdd ... -
JAVA 5.0 后 自带监控工具 jps、jinfo、jstat、jma
2011-05-12 16:25 1220最近有个客户要进行WebLogic性能调优,但因为他们没有性能 ... -
定时器的实现、java定时器介绍与Spring中定时器的配置
2011-04-28 15:05 25091定时器的作用 在实际的开发中,如果项目中需要定时执行或者需 ... -
ClientAbortException,Connection reset by peer: socket write error
2011-03-07 11:24 6036extremetable导出excel,弹出一个下载窗口,这 ... -
java 调ireport (javaBean数据源)保存服务器 生成word
2011-02-24 14:40 1523package com.ztesoft.bidding.con ... -
JAVA包生成EXE应用实例
2011-01-06 15:35 1007相关文章:http://blog.csdn.net/fresh ... -
RMI客户端调用远程服务器方法-远程方法调用
2010-12-27 16:45 2718RMI软件下载:http://www.genady.net/r ...
相关推荐
java导出PDF文件实例.rar 包含导出所需要的jar包,并且包含直接导出数据库和传参两种方式 java导出PDF文件实例.rar java导出PDF文件实例.rar
包含导出所需要的jar包,并且包含直接导出数据库和传参两种方式 java导出PDF文件实例.rar java导出PDF文件实例.rar
java开发水晶报表所有类包及导出PDF实例
Java 实现 FusionCharts 图表导出图片或PDF文件功能,经典示例源码!
framemark导出word以及pdf实例工具类很使用,可以下载试一下QQ1039894819
FusionCharts导出图片实例java版[参照].pdf
java导出excel小实例[归类].pdf
java Pdf 导出 中文 解决 jar 包 ,包括实例代码
Java 导出 PDF 格式文件 jar 包 包括 实例代码!
easypoi操作excel导出 导入,word文档导出,HTML导出,PDF导出
入股合作协议书(标准版).pdf
Aspose.Words通过模板导出pdf和word示例,亲测可用,可以通过word中模板导出word或pdf文件,采用标签定位,直接运行源码即可,非常好用。
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
本篇文章主要介绍了java根据模板动态生成PDF实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java 递 归 实 例
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
所有说明全部在 每个html文件中 :完成所有实例程序: 各个功能点和操作说明的对应文件: 1. 导出图片: only_pic.html 2. 导出图片到word: word_pic.html 3. 导出图片和内容到word: word_content_pic....
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
SpringMVC与iReport(JasperReports) 5.6整合开发实例,PDF报表支持中文显示。