Python使用永中文档转换服务


Posted in Python onMay 06, 2022

因为工作需要,最近开始学习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))

Python使用永中文档转换服务

操作成功,文件已经上传,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结果。

Python使用永中文档转换服务

json结果中包含了一些基本信息,如转换时间、文件信息、转换类型、及错误代码等等;而viewUrl就是文档在线预览的地址,复制到浏览器打开看下

Python使用永中文档转换服务

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预览;同时在参数中,额外加了一些水印相关参数,看看水印的效果如何:

Python使用永中文档转换服务

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预览,在浏览器中访问链接

Python使用永中文档转换服务

如果出现以下的错误,说明无法下载到在线文件,想想这也很合理:如果都无法获取文件,又何如进行转换和预览呢?

Python使用永中文档转换服务

4 小结

好了,关于永中文档转换的服务就先介绍到这。总的来说,接口调用简单,加上使用过程并不复杂,并且文件预览的效果也很好。当然,由于刚刚接触Python,有不足之处,还请各位大佬多多指教,哈。

到此这篇关于Python使用永中文档转换服务的文章就介绍到这了!

Python 相关文章推荐
python套接字流重定向实例汇总
Mar 03 Python
Python对文件操作知识汇总
May 15 Python
python3使用SMTP发送简单文本邮件
Jun 19 Python
Linux下python与C++使用dlib实现人脸检测
Jun 29 Python
python斐波那契数列的计算方法
Sep 27 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
Python自定义一个异常类的方法
Jun 27 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
Python实现剪刀石头布小游戏(与电脑对战)
Dec 31 Python
Django高并发负载均衡实现原理详解
Apr 04 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
Python tensorflow卷积神经Inception V3网络结构
May 06 #Python
Python实现Matplotlib,Seaborn动态数据图
May 06 #Python
PYTHON InceptionV3模型的复现详解
代码复现python目标检测yolo3详解预测
讲解Python实例练习逆序输出字符串
May 06 #Python
python turtle绘图
May 04 #Python
python blinker 信号库
May 04 #Python
You might like
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
Django实现基于类的分页功能
2019/10/31 Python
python中栈的原理及实现方法示例
2019/11/27 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
生产总经理岗位职责
2013/12/19 职场文书
财务人员求职自荐书范文
2014/02/10 职场文书
大学自我评价
2014/02/12 职场文书
《蜗牛》教学反思
2014/02/18 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
优秀教师事迹材料
2014/12/15 职场文书
信仰纪录片观后感
2015/06/08 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
html中显示特殊符号(附带特殊字符对应表)
2021/06/21 HTML / CSS