基于Python使用永中文档转换服务的方式

 更新时间:2022年05月06日 14:38:55   作者:falling2021  
这篇文章主要介绍了基于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使用永中文档转换服务的方式的文章就介绍到这了,更多相关Python永中文档转换服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python的高级Git库 Gittle

    Python的高级Git库 Gittle

    Gittle是一个高级纯python git 库。构建在dulwich之上,提供了大部分的低层机制
    2014-09-09
  • 对numpy中轴与维度的理解

    对numpy中轴与维度的理解

    下面小编就为大家分享一篇对numpy中轴与维度的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python Selenium XPath根据文本内容查找元素的方法

    Python Selenium XPath根据文本内容查找元素的方法

    这篇文章主要介绍了Python Selenium XPath根据文本内容查找元素的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python异常处理、自定义异常、断言原理与用法分析

    python异常处理、自定义异常、断言原理与用法分析

    这篇文章主要介绍了python异常处理、自定义异常、断言,结合实例形式分析了python异常处理、自定义异常、断言相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • Python下使用Psyco模块优化运行速度

    Python下使用Psyco模块优化运行速度

    这篇文章主要介绍了Python下使用Psyco模块优化运行速度,Psyco模块可以使你的Python程序运行的像C语言一样快,本文给出了多个代码示例,并讲解了Psyco的安装和使用方法,需要的朋友可以参考下
    2015-04-04
  • PyQt5实现从主窗口打开子窗口的方法

    PyQt5实现从主窗口打开子窗口的方法

    今天小编就为大家分享一篇PyQt5实现从主窗口打开子窗口的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python利用pygame模块制作代码雨

    Python利用pygame模块制作代码雨

    对Python游戏有所了解的朋友都知道,在2D的游戏制作中,经常会用到一个模块pygame,他能帮助我们实现很多方便使用的功能,本文就来用pygame模块制作代码雨效果,需要的可以了解一下
    2023-05-05
  • django框架面向对象ORM模型继承用法实例分析

    django框架面向对象ORM模型继承用法实例分析

    这篇文章主要介绍了django框架面向对象ORM模型继承用法,结合实例形式分析了Django框架ORM模型抽象类继承、多表继承及代理模型继承三种继承方式实现技巧,需要的朋友可以参考下
    2019-07-07
  • Python常见文件操作的函数示例代码

    Python常见文件操作的函数示例代码

    Python常见文件操作的函数示例代码,学习python的朋友可以参考下。
    2011-11-11
  • Django部署到服务器后无法获取到静态元素 The requested resource was not found on this server(问题及解决方案)

    Django部署到服务器后无法获取到静态元素 The requested resource

    写了一个Django项目,部署到云主机后,访问发现图片无法访问,报错The requested resource was not found on this server,下面给大家介绍Django部署到服务器后无法获取到静态元素The requested resource was not found on this server(问题及解决方案),需要的朋友可以参考下
    2024-02-02

最新评论