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 continue语句用法实例
Mar 11 Python
python安装与使用redis的方法
Apr 19 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
Jul 01 Python
python下os模块强大的重命名方法renames详解
Mar 07 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
python实现微信自动回复及批量添加好友功能
Jul 03 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
Python爬取微信小程序通用方法代码实例详解
Sep 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
一个程序下载的管理程序(四)
2006/10/09 PHP
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
浅谈javascript的数据类型检测
2010/07/10 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
JavaScript中join()方法的使用简介
2015/06/09 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[06:45]2018DOTA2亚洲邀请赛 4.5 SOLO赛 Sccc vs Maybe
2018/04/06 DOTA
python回调函数的使用方法
2014/01/23 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
在python中求分布函数相关的包实例
2020/04/15 Python
python实现文字版扫雷
2020/04/24 Python
python开发入门——set的使用
2020/09/03 Python
python爬虫如何解决图片验证码
2021/02/14 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
结构工程研究生求职信
2013/10/13 职场文书
西式婚礼主持词
2014/03/13 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
有关朝花夕拾的读书笔记
2015/06/29 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
MySQL 全文检索的使用示例
2021/06/07 MySQL