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实现在pickling的时候压缩的方法
Sep 25 Python
Python中的tuple元组详细介绍
Feb 02 Python
Python中函数参数设置及使用的学习笔记
May 03 Python
python list排序的两种方法及实例讲解
Mar 20 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
Python unittest模块用法实例分析
May 25 Python
django ajax json的实例代码
May 29 Python
python查询文件夹下excel的sheet名代码实例
Apr 02 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
Python之NumPy(axis=0 与axis=1)区分详解
May 27 Python
django 邮件发送模块smtp使用详解
Jul 22 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 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
php下连接mssql2005的代码
2011/01/17 PHP
PHP文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
php自定义分页类完整实例
2015/12/25 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
jQuery四种选择器使用及示例
2016/06/05 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
react+redux仿微信聊天界面
2019/06/21 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python最长回文串算法
2018/06/04 Python
python计算列表内各元素的个数实例
2018/06/29 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
法律专业个人实习自我鉴定
2013/09/23 职场文书
电厂厂长岗位职责
2014/01/02 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
投标邀请书范本
2015/02/02 职场文书
2016猴年春节问候语
2015/11/11 职场文书
高二语文教学反思
2016/02/16 职场文书
Java 数组内置函数toArray详解
2021/06/28 Java/Android