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关闭windows进程的方法
Apr 18 Python
浅谈Python浅拷贝、深拷贝及引用机制
Dec 15 Python
详解Python中where()函数的用法
Mar 27 Python
Python IDLE清空窗口的实例
Jun 25 Python
解决使用PyCharm时无法启动控制台的问题
Jan 19 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
Sep 16 Python
pandas分组聚合详解
Apr 10 Python
Python 忽略文件名编码的方法
Aug 01 Python
实例代码讲解Python 线程池
Aug 24 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
pytorch 中forward 的用法与解释说明
Feb 26 Python
JAVA SpringMVC实现自定义拦截器
Mar 16 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在线生成ico文件的代码
2007/10/09 PHP
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
Vue二次封装axios为插件使用详解
2018/05/21 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
JS实现烟花爆炸效果
2020/03/10 Javascript
详解Django中的权限和组以及消息
2015/07/23 Python
python 的列表遍历删除实现代码
2020/04/12 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
利用Python实现命令行版的火车票查看器
2016/08/05 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
PyQt5实现下载进度条效果
2018/04/19 Python
python实现连续图文识别
2018/12/18 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
人与自然的观后感
2015/06/18 职场文书
社区结对共建协议书
2016/03/23 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书