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 相关文章推荐
在Django同1个页面中的多表单处理详解
Jan 25 Python
Python引用类型和值类型的区别与使用解析
Oct 17 Python
详解python中的 is 操作符
Dec 26 Python
python2与python3共存问题的解决方法
Sep 18 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
python3.6连接mysql数据库及增删改查操作详解
Feb 10 Python
pandas中ix的使用详细讲解
Mar 09 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
python db类用法说明
Jul 07 Python
python设置中文界面实例方法
Oct 27 Python
Python实现小黑屋游戏的完整实例
Jan 06 Python
用Python提取PDF表格的方法
Apr 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
5.PHP的其他功能
2006/10/09 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
JQuery 选项卡效果(JS与HTML的分离)
2010/04/01 Javascript
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
JS为什么说async/await是generator的语法糖详解
2019/07/11 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
python 合并文件的具体实例
2013/08/08 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
python绘制热力图heatmap
2020/03/23 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
Python selenium的基本使用方法分析
2019/12/21 Python
python实现加密的方式总结
2020/01/19 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
给校长的建议书200字
2014/05/16 职场文书
副总经理任命书
2014/06/05 职场文书
欢迎词怎么写
2015/01/23 职场文书
小学校本教研总结
2015/08/13 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
银行岗位培训心得体会
2016/01/09 职场文书
运动会主持人开幕词
2016/03/04 职场文书