java导入导出pdf文档实践
2016-07-11 18:44
573 查看
1:MySQL数据库存储pdf流字段为:filed
name: filestream type: MEDIUMBLOB
2:导入pdf文件到mysql 数据库
private void doWrite() {
try {
if (new File("D:/Sun.pdf").exists()) {
FileInputStream fis = new FileInputStream(new File(
"D:/Sun.pdf"));
PreparedStatement pstmt = cnn
.prepareStatement("insert into tb(filestream) values(?) ");
pstmt.setBinaryStream(1, fis, 1024);
pstmt.execute();
}
} catch (Exception e) {
e.printStackTrace();
}
}
3:从mysql数据库读取pdf流到网页客户端显示
private void doRead(HttpServletRequest request, HttpServletResponse response) {
try {
ByteArrayOutputStream ba = new ByteArrayOutputStream();
Statement stmt = cnn.createStatement();
ResultSet rs = stmt.executeQuery("select filestream from tb where id=1");
rs.next();
InputStream is = rs.getBinaryStream(1);
int c;
while ((c = is.read()) != -1)
ba.write(c);
Document document = new Document(PageSize.A4, 36, 36, 36, 36);
PdfWriter writer = PdfWriter.getInstance(document, ba);
// document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
4:下载jar包:itext-2.0.6.jar iTextAsian.jar(此包是解决中文乱码用)
5:完整源码
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
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.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
public class PDFGenerateServlet extends HttpServlet {
private Connection cnn = null;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
InitConnection();
String s = request.getParameter("method");
if (s.equals("w")) {
doWrite();
}
if (s.equals("r")) {
doRead(request, response);
}
/*
* Statement stmt = cnn.createStatement(); ResultSet rs =
* stmt.executeQuery(""); InputStream is = rs.getBinaryStream("");
* int c; while ((c = is.read()) != 1) ba.write(c); // ba=new
* ByteArrayOutputStream(rs.getBlob("")); PdfWriter writer =
* PdfWriter.getInstance(document, ba); document.open();
* document.add(new Paragraph("Hello World"));
*/
} catch (Exception e) {
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
doGet(request, response);
}
private void doWrite() {
try {
if (new File("D:/Sun.pdf").exists()) {
FileInputStream fis = new FileInputStream(new File(
"D:/Sun.pdf"));
PreparedStatement pstmt = cnn
.prepareStatement("insert into tb(filestream) values(?) ");
pstmt.setBinaryStream(1, fis, 1024);
pstmt.execute();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void doRead(HttpServletRequest request, HttpServletResponse response) {
try {
ByteArrayOutputStream ba = new ByteArrayOutputStream();
Statement stmt = cnn.createStatement();
ResultSet rs = stmt.executeQuery("select filestream from tb where id=1");
rs.next();
InputStream is = rs.getBinaryStream(1);
int c;
while ((c = is.read()) != -1)
ba.write(c);
Document document = new Document(PageSize.A4, 36, 36, 36, 36);
PdfWriter writer = PdfWriter.getInstance(document, ba);
// document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
private void InitConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
cnn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jms", "root", "aastocks");
} catch (Exception e) {
}
}
}
name: filestream type: MEDIUMBLOB
2:导入pdf文件到mysql 数据库
private void doWrite() {
try {
if (new File("D:/Sun.pdf").exists()) {
FileInputStream fis = new FileInputStream(new File(
"D:/Sun.pdf"));
PreparedStatement pstmt = cnn
.prepareStatement("insert into tb(filestream) values(?) ");
pstmt.setBinaryStream(1, fis, 1024);
pstmt.execute();
}
} catch (Exception e) {
e.printStackTrace();
}
}
3:从mysql数据库读取pdf流到网页客户端显示
private void doRead(HttpServletRequest request, HttpServletResponse response) {
try {
ByteArrayOutputStream ba = new ByteArrayOutputStream();
Statement stmt = cnn.createStatement();
ResultSet rs = stmt.executeQuery("select filestream from tb where id=1");
rs.next();
InputStream is = rs.getBinaryStream(1);
int c;
while ((c = is.read()) != -1)
ba.write(c);
Document document = new Document(PageSize.A4, 36, 36, 36, 36);
PdfWriter writer = PdfWriter.getInstance(document, ba);
// document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
4:下载jar包:itext-2.0.6.jar iTextAsian.jar(此包是解决中文乱码用)
5:完整源码
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
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.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
public class PDFGenerateServlet extends HttpServlet {
private Connection cnn = null;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
InitConnection();
String s = request.getParameter("method");
if (s.equals("w")) {
doWrite();
}
if (s.equals("r")) {
doRead(request, response);
}
/*
* Statement stmt = cnn.createStatement(); ResultSet rs =
* stmt.executeQuery(""); InputStream is = rs.getBinaryStream("");
* int c; while ((c = is.read()) != 1) ba.write(c); // ba=new
* ByteArrayOutputStream(rs.getBlob("")); PdfWriter writer =
* PdfWriter.getInstance(document, ba); document.open();
* document.add(new Paragraph("Hello World"));
*/
} catch (Exception e) {
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
doGet(request, response);
}
private void doWrite() {
try {
if (new File("D:/Sun.pdf").exists()) {
FileInputStream fis = new FileInputStream(new File(
"D:/Sun.pdf"));
PreparedStatement pstmt = cnn
.prepareStatement("insert into tb(filestream) values(?) ");
pstmt.setBinaryStream(1, fis, 1024);
pstmt.execute();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void doRead(HttpServletRequest request, HttpServletResponse response) {
try {
ByteArrayOutputStream ba = new ByteArrayOutputStream();
Statement stmt = cnn.createStatement();
ResultSet rs = stmt.executeQuery("select filestream from tb where id=1");
rs.next();
InputStream is = rs.getBinaryStream(1);
int c;
while ((c = is.read()) != -1)
ba.write(c);
Document document = new Document(PageSize.A4, 36, 36, 36, 36);
PdfWriter writer = PdfWriter.getInstance(document, ba);
// document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
private void InitConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
cnn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jms", "root", "aastocks");
} catch (Exception e) {
}
}
}
相关文章推荐
- SpringMVC的web.xml的配置
- java 导入导出pdf
- FIle 文件操作,包括文件的复制、删除以及zip和rar格式的解压操作
- SpringMVC注解开发springmvc.xml的配置
- flash插件Uploadifiy传递cookies问题,java实现
- listener->filter->struts拦截器->servlet
- java图片和base64互转实例
- java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
- Java学习--java中的集合框架、Collection接口、list接口
- JAVA读取、写入、更新CLOB字段
- eclipse快捷键大全
- Struts2实现文件下载和上传
- 解决EasyUI Form submit和SpringMVC返回JSON在IE中变下载的问题
- java spring定时器(注解)
- myeclipse 连接mysql 提示 unable to create connection.check your url
- java将json字符串转成List/Map实例
- spring mvc 接受多对象的处理
- SpringMVC杂记(十七) HandlerMethodArgumentResolver接口应用example
- SpringMVC中的参数组装:HandlerMethodArgumentResolver
- Java对象之生