java在線預覽txt、word、ppt、execel,pdf代碼

jopen 9年前發布 | 8K 次閱讀 Java

在頁面上顯示各種文檔中的內容。在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();</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!