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使用multiprocessing创建进程的方法
Jun 04 Python
实例讲解Python中函数的调用与定义
Mar 14 Python
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Python爬虫之正则表达式基本用法实例分析
Aug 08 Python
Python使用requests提交HTTP表单的方法
Dec 26 Python
Python图像滤波处理操作示例【基于ImageFilter类】
Jan 03 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
Python中BeautifuSoup库的用法使用详解
Nov 15 Python
python如何将两张图片生成为全景图片
Mar 05 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
python包的导入方式总结
Mar 02 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
基于mysql的论坛(3)
2006/10/09 PHP
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
js chrome浏览器判断代码
2010/03/28 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
JavaScript中的console.time()函数详细介绍
2014/12/29 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
vue父子组件的通信方法(实例详解)
2019/11/10 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
python中对_init_的理解及实例解析
2019/10/11 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
生物学学生自我评价
2014/01/17 职场文书
学校安全检查制度
2014/01/27 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
企业精神口号
2014/06/11 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
颐和园导游词400字
2015/01/30 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技