学堂 学堂 学堂公众号手机端

Python转换服务的使用过程是什么

lewis 6年前 (2019-06-21) 阅读数 9 #技术
这篇文章给大家分享的是“Python转换服务的使用过程是什么”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。


因为工作需要,最近开始学习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,有不足之处,还请各位大佬多多指教,哈。


到此这篇关于“Python转换服务的使用过程是什么”的文章就介绍到这了,更多相关内容请搜索博信以前的文章或继续浏览下面的相关文章,希望大家以后多多支持博信!
版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门