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中暂存上传图片的方法
Feb 18 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
python爬取m3u8连接的视频
Feb 28 Python
python中字符串变二维数组的实例讲解
Apr 03 Python
python SMTP实现发送带附件电子邮件
May 22 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
django认证系统 Authentication使用详解
Jul 22 Python
Django封装交互接口代码
Jul 12 Python
为什么说python更适合树莓派编程
Jul 20 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
PHP编程中八种常见的文件操作方式
2006/11/19 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
新手简单了解vue
2019/05/29 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
python opencv之SIFT算法示例
2018/02/24 Python
python for循环remove同一个list过程解析
2019/08/14 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
Django学习之文件上传与下载
2019/10/06 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
怎样声明接口
2014/09/19 面试题
文秘自荐信
2013/10/20 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
2014财务年终工作总结
2014/12/08 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
Python使用openpyxl批量处理数据
2021/06/23 Python
Python Pandas 删除列操作
2022/03/16 Python
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android