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中集合类型(set)学习小结
Jan 28 Python
进一步探究Python中的正则表达式
Apr 28 Python
浅谈python中的变量默认是什么类型
Sep 11 Python
Python简单获取自身外网IP的方法
Sep 18 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
pandas将DataFrame的列变成行索引的方法
Apr 10 Python
pandas 将索引值相加的方法
Nov 15 Python
Python实现打印实心和空心菱形
Nov 23 Python
Matlab如何实现矩阵复制扩充
Jun 02 Python
python for循环赋值问题
Jun 03 Python
PYTHON使用Matplotlib去实现各种条形图的绘制
Mar 22 Python
python lambda 表达式形式分析
Apr 03 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
PHP函数常用用法小结
2010/02/08 PHP
php获取twitter最新消息的方法
2015/04/14 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
PHP实现的pdo连接数据库并插入数据功能简单示例
2019/03/30 PHP
代码精简的可以实现元素圆角的js函数
2007/07/21 Javascript
js 单引号 传递方法
2009/06/22 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
jQuery.extend 函数的详细用法
2012/06/27 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
深入理解JavaScript单体内置对象
2016/06/06 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
微信小程序中使用Promise进行异步流程处理的实例详解
2017/08/17 Javascript
vue中的scope使用详解
2017/10/29 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python返回昨天日期的方法
2015/05/13 Python
python获取目录下所有文件的方法
2015/06/01 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
初中体育教学反思
2014/01/14 职场文书
社区消防工作实施方案
2014/03/21 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
导游词之南京中山陵
2019/11/27 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis