Python调用永中文档转换服务:从文件上传到在线预览的完整实践

Mia
Mia
发布时间:2026-10-15| 3人浏览过
原创

本文详细介绍如何使用Python调用永中文档转换服务,涵盖文件上传、分步转换及复合型接口调用三种方式。通过具体代码示例,演示如何获取转换结果、处理错误代码及添加水印,并针对在线文档链接提供专用转换接口,帮助开发者快速实现文档的在线预览功能。

出于项目实际需求,近期我开始接触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))

操作成功后,系统返回了文件信息,其中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格式的结果。

返回的JSON结果中包含了转换时间、文件元数据、转换类型及错误代码等基本信息。其中,viewUrl字段提供了文档在线预览的地址,将其复制到浏览器中即可打开查看。

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用于预览。此外,在参数中额外添加了水印相关配置,以测试水印效果:

3 针对在线文档的转换接口

考虑到许多文件直接托管于网络,无需本地手动上传,永中文档转换服务还提供了专门针对在线文档URL的转换接口:

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字段,在浏览器中访问该链接即可预览:

若遇到如下错误提示,表明系统无法下载指定的在线文件。这在逻辑上是合理的:若源文件无法获取,自然无法进行后续的转换与预览操作。

4 小结

以上即为永中文档转换服务的基本介绍。总体而言,该服务接口调用逻辑清晰,使用过程简单,且文件预览效果良好。由于本人初学Python,文中如有疏漏或不当之处,恳请各位专家指正。

本文介绍了基于Python使用永中文档转换服务的方法,更多相关内容可参考本站历史文章或继续浏览后续更新,感谢大家的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。