• java在线预览txt、word、ppt、execel,pdf代码


    在页面上显示各种文档中的内容。在servlet中的逻辑

    word: 

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());

      String bodyText = null;
      WordExtractor ex = new WordExtractor(bis);
      bodyText = ex.getText();
      response.getWriter().write(bodyText);

    excel:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());  

    content = new StringBuffer();
      HSSFWorkbook workbook = new HSSFWorkbook(bis);
      for (int numSheets = 0; numSheets < workbook.getNumberOfSheets(); numSheets++) {
       HSSFSheet aSheet = workbook.getSheetAt(numSheets);// 获得一个sheet
       content.append("/n");
       if (null == aSheet) {
        continue;
       }
       for (int rowNum = 0; rowNum <= aSheet.getLastRowNum(); rowNum++) {
        content.append("/n");
        HSSFRow aRow = aSheet.getRow(rowNum);
        if (null == aRow) {
         continue;
        }
        for (short cellNum = 0; cellNum <= aRow.getLastCellNum(); cellNum++) {
         HSSFCell aCell = aRow.getCell(cellNum);
         if (null == aCell) {
          continue;
         }
         if (aCell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
          content.append(aCell.getRichStringCellValue()
            .getString());
         } else if (aCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
          boolean b = HSSFDateUtil.isCellDateFormatted(aCell);
          if (b) {
           Date date = aCell.getDateCellValue();
           SimpleDateFormat df = new SimpleDateFormat(
             "yyyy-MM-dd");
           content.append(df.format(date));
          }
         }
        }
       }
      }
      response.getWriter().write(content.toString());

    ppt:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());

    StringBuffer content = new StringBuffer("");
      SlideShow ss = new SlideShow(new HSLFSlideShow(bis));
      Slide[] slides = ss.getSlides();
      for (int i = 0; i < slides.length; i++) {
       TextRun[] t = slides[i].getTextRuns();
       for (int j = 0; j < t.length; j++) {
        content.append(t[j].getText());
       }
       content.append(slides[i].getTitle());
      }
      response.getWriter().write(content.toString());

    pdf:

    BufferedInputStream bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedInputStream(httpUrl.getInputStream());

     PDDocument pdfdocument = null;
      PDFParser parser = new PDFParser(bis);
      parser.parse();
      pdfdocument = parser.getPDDocument();
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      OutputStreamWriter writer = new OutputStreamWriter(out);
      PDFTextStripper stripper = new PDFTextStripper();
      stripper.writeText(pdfdocument.getDocument(), writer);
      writer.close();
      byte[] contents = out.toByteArray();

      String ts = new String(contents);
      response.getWriter().write(ts);

    txt:

    BufferedReader bis = null;
      URL url = null;
      HttpURLConnection httpUrl = null; // 建立链接
      url = new URL(urlReal);
      httpUrl = (HttpURLConnection) url.openConnection();// 连接指定的资源
      httpUrl.connect();// 获取网络输入流
      bis = new BufferedReader( new InputStreamReader(httpUrl.getInputStream()));

    StringBuffer buf=new StringBuffer();
      String temp;
      while ((temp = bis.readLine()) != null) {
       buf.append(temp);
       response.getWriter().write(temp);
       if(buf.length()>=1000){
        break;
       }
      }
      bis.close();

  • 相关阅读:
    MOSS 2010 修改管理员密码 欧阳锋
    MOSS2010 中“找不到位于xxxx的web应用程序”的解决办法 欧阳锋
    MSSQL 2008 无法修改表问题的解决 欧阳锋
    不是每个在你身上拉屎的都是你的敌人 欧阳锋
    笑一笑 欧阳锋
    隐藏MOSS2010 左边的导航 欧阳锋
    爱情与婚姻的区别 欧阳锋
    两年后,我们怎么办
    C#控件的闪烁问题解决方法总结
    Linux内核编译配置过程
  • 原文地址:https://www.cnblogs.com/peizhe123/p/4068669.html
Copyright © 2020-2023  润新知