`
iorit2003
  • 浏览: 141841 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

jsp生成word,excle,pdf

阅读更多

在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,有时许多word文档保存到数据库中的某个表的Blob字段里,服务器再把保存在Blob字段中的图片文件展现给用户。通过网上查找发现很少有关于此类的文章,现在整理起来供大家参考。

1 在client端直接生成word文档
在jsp页面上生成word文档非常简单,只需把contentType=”text/html”改为contentType="application/msword; charset=gb2312"即可,代码如下:
<!---->
通过设置可以使原来页面的内容在word中表现出来。
如果需要把word文档下载下来,只需在jsp页面上面加上如下代码:
<!---->
其中filename.doc中filename是要下载的word文档的文件名,可以通过<!---->来自行定制,如下
<!---->.doc");
%>
这样提供一个提示信息供用户选择如下图所示
小技巧:如果程序员需要在生成word文档的时候按照自己预先在word上设计好的格式,可以复制word格式然后粘贴到frontpage中,取html代码贴到jsp页面即可。

2 在客户端输出存在数据库中的word实体
这里只讨论在client输出oracle中BLOB字段中的word文档实体。其中调用了类getBlobBean,该类提供了从oracle中取出blob功能,代码如下:
package yourpackage;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import oracle.sql.*;
import beans.yourbeanpackage. getBlobBean;
/**
 * 

Title: 


 * 

Description: 


 * 

Copyright: Copyright (c) 2004


 * 

Company: 


 * @author not attributable
 * @version 1.0
 */
public class GetBlobServlet1 extends HttpServlet {
//设置输出内容类型,这个设置很重要,否则客户端浏览器不能识别输出内容,导致弹出下载的对话框。
  private static final String CONTENT_TYPE = "application/msword;charset=gb2312";
  //Initialize global variables
  public void init() throws ServletException {
  }
  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    perform(request,response);
  }
  public void perform(HttpServletRequest request, HttpServletResponse response){
try{
//该类功能是从oracle哭中取出blob实体
      getBlobBean getBlob=new getBlobBean();
      OutputStream sos = response.getOutputStream();
      getBlob.connFunction();
oracle.sql.BLOB blob=getBlob.getBlob("cehui");
//输出word文档
if(blob!=null){
        InputStream pi = blob.getBinaryStream();
        int blobsize =(int)blob.length();
        byte[] blobbytes = new byte[blobsize];
        int bytesRead = 0;
        while ((bytesRead = pi.read(blobbytes)) != -1) {
          sos.write(blobbytes, 0, bytesRead);
        }
        pi.close();
        sos.flush();
        sos.close();
      }
      getBlob.dropConnFunction();
    }catch(Exception e){
      System.out.println(e.toString());
    }
  }
  //Clean up resources
  public void destroy() {
  }


3 在client端直接生成EXCEL文档







 


 


生成例子excel  。  用WORD排版面,倒出HTML 把代码拷贝到网页里,然后这个JSP页面打印你就随心所欲的控制了。 



4 在client端直接生成PDF文档
需要下载JAR包:以下代码在JDK1.4  RESIN2.16  下测试通过

ITEXT包 http://mesh.dl.sourceforge.net/sourceforge/itext/itext-1.3.5.jar
字体包http://itext.sourceforge.net/downloads/iTextAsian.jar

JSP生成到客户IE端直接打开 


ie_PDF.jsp 


 
 



------------------------------- 


在服务器端生成不下载。 


server_PDF.jsp 


 
 



使用iText可以设置文字的字体,对于我们中国的程序员来说如何显示中文是最紧要的问题。幸好iText中有一个专门的包用来设置亚洲国家的字体你可以从http://itext.sourceforge.net/downloads/iTextAsian.jar下载这个包。然后把它直接放到你的ClassPath中就可以了。如何设置字体呢?

BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);

在上面的代码中设置了中文字体的显示,你只要使用下面的代码就可以包中文加到PDF中了

String title = "我爱喝咖啡";

Paragraph t = new Paragraph(title, FontChinese); 

doc.add(t);

 

分享到:
评论

相关推荐

    java生成excle和pdf

    Java生成Excel和PDF是两种常见的数据导出技术,在企业级应用中广泛使用,尤其是在报表、数据分析和文件交互场景。这两个技术分别基于不同的库,对于Java开发者来说,掌握它们的使用方法是十分重要的。 1. Java生成...

    WORD EXCLE 转PDF

    "Word Excel 转PDF"这个标题暗示了我们要讨论的是如何将Microsoft Office的两种主要应用程序——Word和Excel创建的文档转换为普遍接受且不可编辑的PDF格式。PDF(Portable Document Format)文件因其跨平台兼容性和...

    ppt,word ,excle,pdf 互转换所需要的jar.rar

    - 这些库可以帮助开发者读取Word文件内容,并根据需求生成新的PDF、PPT或Excel文件。 3. **Excel到PDF/Word/PPT转换**: - Excel主要用于处理数据,转换到PDF可以保持表格结构不变,方便查看和打印;转换到Word...

    批量生成excle转word文件.rar_VBA 生成word_VBa_drawevx_批量_批量填写word

    在压缩包中的"批量生成excle转word文件.docm"文件很可能就是包含了实现上述功能的VBA代码的Word文档,用户可以通过查看和修改这个文档中的宏来适应自己的需求。使用VBA进行此类操作需要一定的编程基础,但是一旦设置...

    java借助Excle模板生成定制化PDF文件

    功能:通过可配置的Excle模板生成PDF文件,并通过浏览器输出到客户端。 实现思路:该功能通过三个步骤实现 第一:服务器端通过excle模板生成Excle文件(包含图片文件生成到excle文件中) 第二:通过jacob,将Excle文件...

    pdf转word、pdf转excle、word转pdf、excel转pdf、pdf拆分软件(python)内含源码!

    该库会读取一个Word文档,解析其内容,并利用`reportlab`库生成PDF文件。`reportlab`是一个用于生成PDF的Python库,它允许我们创建新的PDF文档并添加各种元素,如文本、图像和图形。 4. Excel转PDF:与Word转PDF...

    一人一表excle生成word.zip

    标题提到的"一人一表excle生成word.zip"是一个示例,展示了如何利用Excel和Word之间的交互来自动化数据的转换和导出。这种技术广泛应用于数据报告、文档生成、批量填写表格等场景。以下是关于这个主题的详细知识点:...

    .NET 导出EXCLE WORD

    在.NET框架中,导出Excel和Word是常见的需求,尤其在数据报表、数据分析以及文档生成等场景中。本文将深入探讨如何使用.NET技术实现从DataTable、DataList等数据源导出到Excel和Word。 首先,我们需要理解.NET中的...

    java 生成excle文件

    在Java编程环境中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。在本场景中,我们使用了jxl.jar库来完成这个功能。jxl是一个开源的Java库,它允许开发者读取、写入和修改Excel文件(.xls...

    java读写word、excle、pdf驱动

    在Java编程中,处理文档是常见的任务之一,包括读取、修改和创建Word、Excel和PDF文件。这些文件格式在日常工作中广泛使用,因此掌握如何用Java与它们交互至关重要。以下是一些关于如何使用Java进行读写Word、Excel...

    PDF转(word\excle\等常用文档)利器

    PDF转(word\excle\等常用文档)利器,很好用的。

    zip 压缩 解压 兼容03 07 word excle office

    本文将详细讨论“zip”格式的压缩与解压技术,以及如何确保它与Microsoft Office的03和07版本的Word和Excel兼容。 首先,让我们来理解什么是“zip”格式。ZIP是一种广泛使用的文件压缩格式,由Phil Katz于1989年...

    linux 系统资源监控+生成Excle报告

    linux 系统资源监控nmon+生成Excle报告 备注:1.生成报告错误时解析,跟换CPU个数,一般都OK; 2.上传文件3份:监控软件一份、解析文件一份、命令说明一份; 3.多尝试几次;本人认为很好用;

    word excle密码破解

    一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“格式-选项”状态按钮,打开“安全性-宏安全性选项”窗口,选择其中的“启用此内容”,“确定”退出。再切换到“视图”选项卡,点击“宏”→...

    SaveAsPDFandXPS.exe office pdf转换插件-word、excle、ppt另存为PDF转换软件

    "SaveAsPDFandXPS.exe" 是一个针对Microsoft Office的插件,它的主要功能是将Word、Excel和PowerPoint文档...通过它,用户可以轻松实现word、excle、ppt到pdf的无缝转换,提高了办公效率,降低了对其他专业软件的依赖。

    java生成excle

    在Java编程中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或数据分析等领域。Excel文件格式(.xlsx)是Microsoft Office Excel所使用的,而Java提供了多种库来帮助开发者实现这个功能。本篇文章将...

    Mysql导入到excle中jsp

    在IT行业中,数据的处理和迁移是常见的任务...总的来说,"Mysql导入到excle中jsp"是一个融合了数据库操作、文件处理和Web开发技术的综合应用实例。通过这样的实践,开发者可以提升在数据交互和Web服务开发方面的能力。

    java生成excle邮件附件发送

    java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送

Global site tag (gtag.js) - Google Analytics