1:mysql数据库存储pdf流字段为:filed name:filestream type:MEDIUMBLOB
2:导入pdf文件到mysql 数据库
privatevoiddoWrite()...{
try...{
if(newFile("D:/Sun.pdf").exists())...{
FileInputStreamfis=newFileInputStream(newFile(
"D:/Sun.pdf"));
PreparedStatementpstmt=cnn
.prepareStatement("insertintotb(filestream)values(?)");
pstmt.setBinaryStream(1,fis,1024);
pstmt.execute();
}
}catch(Exceptione)...{
e.printStackTrace();
}
}
3:从mysql数据库读取pdf流到网页客户端显示
privatevoiddoRead(HttpServletRequestrequest,HttpServletResponseresponse)...{
try...{
ByteArrayOutputStreamba=newByteArrayOutputStream();
Statementstmt=cnn.createStatement();
ResultSetrs=stmt.executeQuery("selectfilestreamfromtbwhereid=1");
rs.next();
InputStreamis=rs.getBinaryStream(1);
intc;
while((c=is.read())!=-1)
ba.write(c);
Documentdocument=newDocument(PageSize.A4,36,36,36,36);
PdfWriterwriter=PdfWriter.getInstance(document,ba);
//document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStreamout=response.getOutputStream();
ba.writeTo(out);
out.flush();
}catch(Exceptione)...{
e.printStackTrace();
}
}
4:下载jar包:itext-2.0.6.jar iTextAsian.jar(此包是解决中文乱码用)
5:完整源码
importjava.io.BufferedInputStream;
importjava.io.ByteArrayOutputStream;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjavax.servlet.ServletException;
importjavax.servlet.ServletOutputStream;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.lowagie.text.Document;
importcom.lowagie.text.DocumentException;
importcom.lowagie.text.PageSize;
importcom.lowagie.text.Paragraph;
importcom.lowagie.text.pdf.PdfWriter;
publicclassPDFGenerateServletextendsHttpServlet...{
privateConnectioncnn=null;
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException,ServletException...{
try...{
InitConnection();
Strings=request.getParameter("method");
if(s.equals("w"))...{
doWrite();
}
if(s.equals("r"))...{
doRead(request,response);
}
/**//*
*Statementstmt=cnn.createStatement();ResultSetrs=
*stmt.executeQuery("");InputStreamis=rs.getBinaryStream("");
*intc;while((c=is.read())!=1)ba.write(c);//ba=new
*ByteArrayOutputStream(rs.getBlob(""));PdfWriterwriter=
*PdfWriter.getInstance(document,ba);document.open();
*document.add(newParagraph("HelloWorld"));
*/
}catch(Exceptione)...{
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException,ServletException...{
doGet(request,response);
}
privatevoiddoWrite()...{
try...{
if(newFile("D:/Sun.pdf").exists())...{
FileInputStreamfis=newFileInputStream(newFile(
"D:/Sun.pdf"));
PreparedStatementpstmt=cnn
.prepareStatement("insertintotb(filestream)values(?)");
pstmt.setBinaryStream(1,fis,1024);
pstmt.execute();
}
}catch(Exceptione)...{
e.printStackTrace();
}
}
privatevoiddoRead(HttpServletRequestrequest,HttpServletResponseresponse)...{
try...{
ByteArrayOutputStreamba=newByteArrayOutputStream();
Statementstmt=cnn.createStatement();
ResultSetrs=stmt.executeQuery("selectfilestreamfromtbwhereid=1");
rs.next();
InputStreamis=rs.getBinaryStream(1);
intc;
while((c=is.read())!=-1)
ba.write(c);
Documentdocument=newDocument(PageSize.A4,36,36,36,36);
PdfWriterwriter=PdfWriter.getInstance(document,ba);
//document.close();
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStreamout=response.getOutputStream();
ba.writeTo(out);
out.flush();
}catch(Exceptione)...{
e.printStackTrace();
}
}
privatevoidInitConnection()...{
try...{
Class.forName("com.mysql.jdbc.Driver");
cnn=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/jms","root","aastocks");
}catch(Exceptione)...{
}
}
}
分享到:
相关推荐
Java导出PDF文件是开发...总之,Java导出PDF文件涉及的主要知识点包括:iText库的使用、PDF文档结构、内容添加方法、数据库操作以及参数处理。通过熟练掌握这些技能,你可以轻松地在Java项目中生成各种复杂的PDF文档。
Java 实现 Excel 导入导出 Java 是一种流行的编程语言,Excel 是一种常用的电子表格软件。在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 ...
首先,我们将要讲述的是easypoi这一Java库在处理Excel表格导入导出功能的应用。在Java开发中,对于数据的导入导出,尤其是Excel表格,是一种非常常见的需求。而easypoi为我们提供了简洁的方式来实现这一功能。 ### ...
Java编程语言在处理文档转换方面提供了强大的支持,...综上所述,"java导出docx导出pdf"的项目提供了一个Java解决方案,通过利用Apache POI和iText库,实现了从Docx到PDF的快速转换,适用于各种需要文档转换的场景。
在Java编程环境中,处理Excel文件是一项常见的任务,无论是数据分析、数据导入导出还是报表生成。在给定的压缩包文件中,提供了实现这一功能所需的库和示例代码。以下是关于"java代码导入导出Excel"的相关知识点: ...
它涉及的知识点包括Java编程基础、iText库的使用、PDF文档结构的理解以及可能的数据解析和文件操作。通过这样的系统,教育从业者能够快速高效地创建和管理各类考试试卷,体现了Java在教育技术领域的应用潜力。
Java导出PDF文件是开发过程中常见的一项任务,特别是在生成报告、文档或发票等场景下。这个"java导出PDF文件实例.rar"压缩包提供了一个实际的示例,帮助开发者了解如何在Java环境中创建PDF文件。它包括了必要的jar库...
本文件“Java导入导出Oracle[文].pdf”显然提供了一种利用Java程序来实现Oracle数据库的导入(exp)和导出(imp)的方法,并涉及到创建表空间、用户以及给用户授权的操作。以下是根据提供的代码片段详细解释这些知识...
Highcharts在Java后台导出图片到PDF和EXCEL文件中示例代码,程序放到MyEclipse8.6中编译后可直接放到Tomcat6及以上版本运行,程序中含有jar包,下载后不用操心到处找jar包,在MyEclipse8.6里建立普通的Web工程就可以...
"Excel导入导出"这一主题涵盖了如何将数据从外部源导入到Excel工作表,以及如何将Excel数据导出到其他格式或系统中。以下是对这个主题的详细阐述: **一、Excel数据导入** 1. **CSV导入**:CSV(逗号分隔值)是一...
在Java开发中,生成和处理PDF文档是一项常见的需求。Itext是一个强大的库,它允许开发者在Java环境中创建、编辑和修改PDF文档。本教程将详细讲解如何使用Itext库实现PDF文件的下载,包括通过系统路径下载和通过...
Apache POI是Java中处理Microsoft Office格式文件(如Excel)的库,而iText则是用于创建和编辑PDF文档的库。 首先,我们需要导入必要的库。在项目中添加Apache POI和iText的依赖。如果你使用的是Maven,可以在pom....
在Java编程中,导出Excel、Word和PDF是常见...总之,Java通过各种库如Apache POI和iText提供了强大的能力来处理Excel、Word和PDF文件的导出。理解并熟练运用这些库,可以帮助你实现高效的数据导出功能,满足业务需求。
首先,`itext`是一个流行的Java库,用于处理PDF文档。它提供了创建、修改和操作PDF文档的功能。在URL转PDF的过程中,我们可以利用`itext`来生成PDF并添加网页内容。在处理中文字符时,关键在于设置正确的字符编码,...
3. **导出PDF文档**: iText是一个强大的PDF库,可以创建、修改和操作PDF文件。通过创建Document对象,添加Paragraphs、Tables等,然后写入输出流。创建一个简单的PDF页面: ```java Document document = new ...
标题 "iReport+Java 导出 PDF/byte[]" 指的是使用 iReport 工具结合 Java 语言来生成 PDF 文件并将其以字节数组(byte[])的形式处理。iReport 是一个开源的报表设计工具,常用于 JasperReports 库,能够帮助开发者...
Java使用EasyExcel进行Excel的导入导出是一种高效且便捷的方式,尤其对于大数据量的处理,EasyExcel能够很好地解决内存溢出的问题。以下是关于EasyExcel在Java中应用的详细讲解: 一、准备工作 在使用EasyExcel之前...
本篇将深入探讨如何使用 Java 库 `easypoi` 和 `Spire.XLS.Free` 实现 Excel 的导出及将其转化为 PDF 文件的过程。 首先,`easypoi` 是一个基于 Apache POI 的 Java 框架,专门用于处理 Office 文档,包括 Excel。...
在SpringBoot项目中,我们经常需要处理Excel文件的导入与导出功能,这在数据分析、数据交换等场景中尤其常见。Apache POI 是一个流行的Java库,它允许开发者读写Microsoft Office格式的文件,包括Excel。下面我们将...
iText广泛用于报告生成、数据导入导出等多种场景中,是Java开发中不可或缺的工具之一。 接下来,我们将具体介绍一个使用iText库来导出PDF文件的小例子。尽管文章提供的内容中,实际的Java代码没有直接给出,但可以...