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运行效率
Jun 09 Python
使用Python脚本将文字转换为图片的实例分享
Aug 29 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
python放大图片和画方格实现算法
Mar 30 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 Python
Python输出指定字符串的方法
Feb 06 Python
Python内置函数property()如何使用
Sep 01 Python
Python用Jira库来操作Jira
Dec 28 Python
python 学习GCN图卷积神经网络
May 11 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
世界上第一台立体声收音机
2021/03/01 无线电
浅谈电磁辐射对健康的影响
2021/03/01 无线电
深入PHP magic quotes的详解
2013/06/17 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
JS实现网站吸顶条
2020/01/08 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python中static相关知识小结
2018/01/02 Python
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
对numpy数据写入文件的方法讲解
2018/07/09 Python
selenium+python环境配置教程详解
2019/05/28 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
python实现单链表的方法示例
2019/09/03 Python
python怎么调用自己的函数
2020/07/01 Python
医院实习接收函
2014/01/12 职场文书
毕业设计致谢词
2015/05/14 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers