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的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
Python自动发邮件脚本
Mar 31 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
Python之列表实现栈的工作功能
Jan 28 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
Django封装交互接口代码
Jul 12 Python
Python中三维坐标空间绘制的实现
Sep 22 Python
python 如何区分return和yield
Sep 22 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 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学习之 循环结构实现代码
2011/06/09 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
大白话讲解JavaScript的Promise
2017/04/06 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
2018/07/15 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
简明 Python 基础学习教程
2007/02/08 Python
python pickle 和 shelve模块的用法
2013/09/16 Python
玩转python爬虫之正则表达式
2016/02/17 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
一套C#面试题
2013/10/09 面试题
高中军训感言500字
2014/02/24 职场文书
难忘的一课教学反思
2014/04/30 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
培训通知
2015/04/17 职场文书
Python编写可视化界面的全过程(Python+PyCharm+PyQt)
2021/05/17 Python
详解在OpenCV中如何使用图像像素
2022/03/03 Python