日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

基于Python使用永中文檔轉換服務的方式_python

作者:falling2021 ? 更新時間: 2022-06-30 編程語言

因為工作需要,最近開始學習Python;而項目上用到了永中文檔轉換服務,就想著要不要拿這個練練手。仰仗于Python的易用性,不一會就完成了。現在總結一下,作為二者的簡單學習筆記。

1 上傳文件再轉換

查看了對應的接口文檔后,先來上傳一個文件試試:

def upload():
 ? ?url = 'http://172.18.21.87:48080/fcscloud/file/upload'
 ? ?header = {"Content-Type": "multipart/form-data"}
 ? ?file = {"file": open('score.xlsx', 'rb')}
 ? ?result = requests.post(url=url, files=file).json()
 ? ?print(json.dumps(result, sort_keys=True, indent=2, ensure_ascii=False))

操作成功,文件已經上傳,data里就是文件的相對路徑了;知道返回數據之后,就可以再調用convert接口進行轉換:

def upload():
 ? ?url = 'http://172.18.21.87:48080/fcscloud/file/upload'
 ? ?header = {"Content-Type": "multipart/form-data"}
 ? ?file = {"file": open('score.xlsx', 'rb')}
 ? ?result = requests.post(url=url, files=file).json()
 ? ?return result['data']['data']
def convert(srcRelativePath):
 ? ?url = 'http://172.18.21.87:48080/fcscloud/composite/convert'
 ? ?data = {'convertType': 61, 'srcRelativePath': srcRelativePath}
 ? ?result = requests.post(url=url, data=data).json()
 ? ?print(json.dumps(result, sort_keys=True, indent=2, ensure_ascii=False))
if __name__ == '__main__':
 ? ?convert(upload()) ? ?

這邊改動一下,把upload接口返回的結果,作為參數傳給convert,并且指定convertType也就是轉換類型(針對office文件可以用61),同樣返回一個json結果。

json結果中包含了一些基本信息,如轉換時間、文件信息、轉換類型、及錯誤代碼等等;而viewUrl就是文檔在線預覽的地址,復制到瀏覽器打開看下

2 復合型接口

剛才是先上傳文件,再進行轉換的,有沒有更簡單的辦法合二為一呢?永中文檔轉換服務就提供了這樣的復合型接口:

def upload_and_convert():
 ? ?url = 'http://172.18.21.87:48080/fcscloud/composite/upload'
 ? ?header = {"Content-Type": "multipart/form-data"}
 ? ?file = {"file": open('score.xlsx', 'rb')}
 ? ?data = {"convertType": 61, ? ? ? ? ? ? ? ? ? #轉換類型
 ? ? ? ? ? ?"wmColor":"blue", ? ? ? ? ? ? ? ? ? ?#水印顏色
 ? ? ? ? ? ?"wmContent":"永中文檔轉換服務", ? ? ? #水印內容 
 ? ? ? ? ? ?"wmSize":"50", ? ? ? ? ? ? ? ? ? ? ? #水印大小 
 ? ? ? ? ? ?"wmRotate":0} ? ? ? ? ? ? ? ? ? ? ? ?#水印角度
 ? ?result = requests.post(url=url, files=file, data=data).json()
 ? ?# print(result)
 ? ?print(result['data']['viewUrl'])

根據上文里展示里的json結果,就可以豐富場景和業務了,比如根據錯誤代碼來判斷是否轉換成功等等,這邊為了展示效果,暫時沒有考慮一些異常,只取viewUrl預覽;同時在參數中,額外加了一些水印相關參數,看看水印的效果如何:

3 針對在線文檔的轉換接口

考慮到現在很多文件都是在線的,而不手動上傳,永中文檔轉換服務還提供了針對在線文檔的轉換接口:

def http_file():
 ? ?url = 'http://172.18.21.87:48080/fcscloud/composite/httpfile'
 ? ?data = {"convertType": 61,
 ? ? ? ? ? ?'fileUrl': "http://172.18.21.87:48080/fcscloud/view/preview/gN-L5i-rqfV3L-5YwdyhbocM4AFZ1qLaNOfR58wqmPzq5yl6Ozaox5FtkOeT3U2dcGH7iZIGEkHe2cYS19931fYVW1WmGxqScQcqTmqfF4k0XJ0n9T43tS0XAWUC9i7ylCA8riwx8vqdy7cdU_MPpdgABhrxJFXkl6fhGj__qRG6-3WWebp0p1RxMpuuGaZNpYzDMjwIfyBsOskCvCMmx1Zm9_hzBCke2CNkWIw2a6lrQXYRDSmEwT8IHxRFsYnKfQ0RnNAc5xTKZVi4ovzMANI5IY9vfOIBLjZyTH4XSj9aAzvjNn69flAzLSbU4aGzgU3VyTFbTwIO3jgfWCPmDYBxOikkjBh7bji6xtunWsA=/"}
 ? ?result = requests.post(url=url, data=data).json()
 ? ?print(result['data']['viewUrl'])

同樣只取viewUrl預覽,在瀏覽器中訪問鏈接

如果出現以下的錯誤,說明無法下載到在線文件,想想這也很合理:如果都無法獲取文件,又何如進行轉換和預覽呢?

4 小結

好了,關于永中文檔轉換的服務就先介紹到這。總的來說,接口調用簡單,加上使用過程并不復雜,并且文件預覽的效果也很好。當然,由于剛剛接觸Python,有不足之處,還請各位大佬多多指教,哈。

原文鏈接:https://juejin.cn/post/7094086748778528782

欄目分類
最近更新