office(如:Word、Excel、PPT 等)文件輕松實(shí)現(xiàn)在線預(yù)覽

解決方案有很多,比如可以先將文件轉(zhuǎn)圖片或者pdf然后再網(wǎng)頁(yè)中顯示,
我在這里說(shuō)的可能并不適合大家,這里簡(jiǎn)單說(shuō)下幾個(gè)快捷的方式

方案一:

可以直接使用第三方服務(wù),不過(guò)這個(gè)需要收費(fèi)的,我在這列幾個(gè)

http://www.yozodcs.com/

https://www.idocv.com/

http://www.officeweb365.com/

方案二:

一個(gè)快速的解決方法:

如果項(xiàng)目需求只要求預(yù)覽內(nèi)容而不要求對(duì)文檔進(jìn)行編輯的操作,則可以選擇在線預(yù)覽的方式進(jìn)行處理;
現(xiàn)附上兩個(gè)在線預(yù)覽office文檔的地址:(瀏覽器都需要chrome的內(nèi)核)

1、 https://docs.google.com/viewer?url=(輸入你的文檔在服務(wù)器中的地址)

2、 https://view.officeapps.live.com/op/view.aspx?src=(輸入你的文檔在服務(wù)器中的地址)

3、 http://office.qingshanboke.com/Default.aspx?url=(輸入你的文檔在服務(wù)器中的地址)

如果是本地文件可以使用下面這種方式,調(diào)用了永中的接口:

需要用到的第三方工具包為:

commons-logging-1.1.jar,
httpclient-4.5.jar, 
httpcore-4.4.1.jar,
httpmime-4.5.jar

如代碼出現(xiàn)編譯不過(guò),請(qǐng)加入這四個(gè)包。

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;
import java.util.Date;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSONObject;


public class Demo {

/**
 * 向指定 URL 上傳文件POST方法的請(qǐng)求
 *
 * @param url 發(fā)送請(qǐng)求的 URL
 * @param filepath 文件路徑
 * @param type 轉(zhuǎn)換類(lèi)型
 * @return 所代表遠(yuǎn)程資源的響應(yīng)結(jié)果, json數(shù)據(jù)
 */
public static String SubmitPost(String url, String filepath, String type) {
    String requestJson = "";
    HttpClient httpclient =  HttpClients.createDefault();
    try {
        HttpPost httppost = new HttpPost(url);
        FileBody file = new FileBody(new File(filepath));
        MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, null,
                Charset.forName("UTF-8"));
        reqEntity.addPart("file", file); // file為請(qǐng)求后臺(tái)的File upload;屬性
        reqEntity.addPart("convertType", new StringBody(type, Charset.forName("UTF-8")));
        httppost.setEntity(reqEntity);
        HttpResponse response = httpclient.execute(httppost);
        int statusCode = response.getStatusLine().getStatusCode();
        if (statusCode == HttpStatus.SC_OK) {
            HttpEntity resEntity = response.getEntity();
            requestJson = EntityUtils.toString(resEntity);
            EntityUtils.consume(resEntity);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            httpclient.getConnectionManager().shutdown();
        } catch (Exception ignore) {

        }
    }
    return requestJson;
}


public static void main(String[] args) {
    //文件上傳轉(zhuǎn)換,獲取返回?cái)?shù)據(jù)
    String convertByFile = SubmitPost("http://dcs.yozosoft.com:80/upload", "D://demo.ppt", "1");
    JSONObject obj = JSONObject.parseObject(convertByFile);
    if ("0".equals(obj.getString("result"))) {// 轉(zhuǎn)換成功
        String urlData = obj.getString("data");
        urlData = urlData.replace("[\"", "");//去掉[
        urlData = urlData.replace("\"]", "");//去掉]

        //最后urlData是文件的瀏覽地址
        System.out.println(urlData);//打印網(wǎng)絡(luò)文件預(yù)覽地址
    } else {// 轉(zhuǎn)換失敗
        System.out.println("轉(zhuǎn)換失敗");
    }
  }

}

原文:https://blog.csdn.net/zhoumengshun/article/details/73382599

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容