java在线预览txt、word、ppt、execel,pdf代码(未测试)

来源:互联网 发布:新加坡网络运营商 编辑:程序博客网 时间:2024/05/06 22:23
在页面上显示各种文档中的内容。在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);// 获得一个sheetcontent.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();
0 0