目前,市場對於Office在線預覽功能的需求是很大的。對於我們用戶本身來說,下載Office文件后再實現預覽是極其不方便的,何況還有一些不能打開的專業文檔、壓縮文件等。此時,能提供在線預覽服務的軟件就顯得尤為重要。市面上常見的有永中雲預覽、微軟Office Online以及一些開源的產品。今天就從開發者的角度向大家介紹一下Python如何通過永中雲預覽實現文檔在線預覽服務。
一、申請應用
首先,打開永中雲服務的官網https://open.yozocloud.cn/,進行注冊登錄
其次,在管理中心申請永中雲預覽的應用,應用名稱根據實際情況自己設置即可,此時會生成appId和appkey。
二、 獲取簽名
永中雲預覽官網上目前已經提供多種開發語言的sdk包,Python相關的鏈接直接貼上。
SDK下載地址https://cms.yozocloud.cn/info/file/getResource/78
DEMO下載地址https://cms.yozocloud.cn/info/file/getResource/77
示例如下,簽名時傳參數appId和secret即可(Secret就是前文的appkey)
from signclient import generateSign secret = ' ' params = { "appId": [" "] } sign = generateSign(secret, params) print(sign)
三、上傳文件
永中雲預覽提供http上傳以及本地上傳,在這就針對本地上傳進行簡略介紹。
文件上傳需要參數appId、sign、file.
API地址:http://dmc.yozocloud.cn/api/file/upload 調用方法:post
注意:文件的數據類型:multipartFile 參數類型:formData
#upload上傳文件 url = 'http://dmc.yozocloud.cn/api/file/upload?appId={}&sign={}'.format(' appId數據 ', sign) header = {"Content-Type": "multipart/form-data"} #文件數據類型 file = {"file": open("E:\\測試.pdf", "rb")} res = requests.post(url=url, files=file).json() print(res) fileVersionId = res['data']['fileVersionId']
上傳本地文件至永中服務器,上傳成功后會返回對應的fileId和fileVersionId,我們可以使用fileVersionId實現在線操作。
四、預覽文檔
此時,利用生成的fileVersionId、appId、secret生成二次簽名sign。
#二次簽名 params = {"appId": [" "], "fileVersionId": [fileVersionId] } sign = generateSign(secret, params) print(sign)
拼接預覽地址示例如下:http://eic.yozocloud.cn/api/view/file?fileVersionId=xxxx&appId=xxxx&sign=xxxxx
拼接完預覽地址后,可以在瀏覽器直接訪問,實現文檔在線預覽。
#拼接預覽地址 url = 'http://eic.yozocloud.cn/api/view/file?appId={}&sign={}&fileVersionId={}'.format(' ', sign, fileVersionId) print(url)
預覽效果如圖所示:
除此之外,永中還提供了其他參數,比如水印watermark、防復制isCopy、預覽模式viewType、源文件下載isDownload等,可以實現不同的需求。
總而言之,永中雲預覽的服務是一種比較方便的Office文檔在線預覽方式,不失為好的選擇!