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();

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10133.html

(0)
上一篇 2021年7月19日 10:00
下一篇 2021年7月19日 10:00

相关推荐

发表回复

登录后才能评论