不知觉就过了这个久了,继上篇java实现文件上传下载后,今天给大家分享一篇java实现的对office文件预览功能。
相信大家在平常的项目中会遇到需要对文件实现预览功能,这里不用下载节省很多事。大家请擦亮眼睛下面直接上代码了。
步骤:
1.需要下载openoffice插件,这是一款免费的工具,所以我们选择他。
2.需要pdf.js文件
这两个工具文件我下面会给地址需要的可以去下载
https://download.csdn.net/download/dsn727455218/10474679 这是下载地址
不多说废话了,直接上代码了。
java预览工具类:
packagecom.file.utils;importjava.io.BufferedInputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;importjava.util.Properties;importorg.apache.log4j.Logger;importcom.artofsolving.jodconverter.DocumentConverter;importcom.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;importcom.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;importcom.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;importcom.lowagie.text.Document;importcom.lowagie.text.Image;importcom.lowagie.text.PageSize;importcom.lowagie.text.pdf.PdfWriter;/*** doc docx格式转换*/
public classDocConverter {private static final Logger logger = Logger.getLogger(DocConverter.class);private static final int environment = 1;//环境 1:windows 2:linux
private String fileString;//(只涉及pdf2swf路径问题)
private String outputPath = "";//输入路径 ,如果不设置就输出在默认的位置
privateString fileName;private static String[] docFileLayouts = { ".txt", ".doc", ".docx", ".wps", ".xls", ".xlsx", ".et", ".ppt", ".pptx",".dps" };//office办公软件格式
private static String[] imgFileLayouts = { ".jpg", ".gif", ".jpeg", ".png", ".bmp" };//图片格式
private static String[] pdfFileLayouts = { ".pdf" };//pdf格式
privateFile imgFile;private File oldFile;//原文件
privateFile pdfFile;privateFile swfFile;privateFile docFile;privateString pdf2swfPath;/*** 可预览的文件格式
*
*@parambaseAddition*/
public staticString getPreviewFileExt() {
List list= newArrayList(Arrays.asList(docFileLayouts));
list.addAll(Arrays.asList(imgFileLayouts));
list.addAll(Arrays.asList(pdfFileLayouts));
Object[] c=list.toArray();//System.out.println(Arrays.toString(c));
returnArrays.toString(c);
}publicDocConverter(String fileurl) {
ini(fileurl);
}/*** 重新设置file
*
*@paramfileString*/
public voidsetFile(String fileurl) {
ini(fileurl);
}/*** 初始化
*
*@paramfileString*/
private voidini(String fileu