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 MD5文件生成码
Jan 12 Python
讲解python参数和作用域的使用
Nov 01 Python
Python调用C++程序的方法详解
Jan 24 Python
简单谈谈Python中的json与pickle
Jul 19 Python
python+opencv轮廓检测代码解析
Jan 05 Python
Django 实现购物车功能的示例代码
Oct 08 Python
python3 unicode列表转换为中文的实例
Oct 26 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
django修改models重建数据库的操作
Mar 31 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
Python通过Schema实现数据验证方式
Nov 12 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
CodeIgniter钩子用法实例详解
2016/01/20 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
Jquery选择子控件"大于号"和" "区别介绍及使用示例
2013/06/25 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
数控技术应届生求职信
2013/11/13 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
物理研修随笔感言
2014/02/14 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
班风口号
2014/06/18 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
服务员态度差检讨书
2014/10/28 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
MySQL日期时间函数知识汇总
2022/03/17 MySQL
MySQL深分页问题解决思路
2022/12/24 MySQL