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二分法实现实例
Nov 21 Python
Python简单生成8位随机密码的方法
May 24 Python
Python使用getpass库读取密码的示例
Oct 10 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
详解python上传文件和字符到PHP服务器
Nov 24 Python
python爬虫使用cookie登录详解
Dec 27 Python
详解Python 函数如何重载?
Apr 23 Python
详解Python实现进度条的4种方式
Jan 15 Python
深度学习入门之Pytorch 数据增强的实现
Feb 26 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
python​格式化字符串
Apr 20 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
PHP4之COOKIE支持详解
2006/10/09 PHP
我的论坛源代码(七)
2006/10/09 PHP
PHP中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
原生js实现瀑布流效果
2020/03/09 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
python fabric实现远程操作和部署示例
2014/03/25 Python
python学习笔记:字典的使用示例详解
2014/06/13 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
python实现移位加密和解密
2019/03/22 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
Python定义一个Actor任务
2020/07/29 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
正规的求职信范文分享
2013/12/11 职场文书
2014年安全生产责任书
2014/07/22 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
社区义诊通知
2015/04/24 职场文书
总经理致辞
2015/07/29 职场文书
员工给公司的建议书
2019/06/24 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL
mysql如何查询连续记录
2022/05/11 MySQL
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS