一、写在前面
本文重点介绍如何将AI智能生成文字直接转换为word文档,支持下载提升大家学习和职场办公的效率。
二、Pandoc-api 服务
Pandoc是一个功能强大的文档转换工具,支持多种文档格式之间的转换。它广泛应用于学术写作、出版和技术文档处理领域。
Pandoc支持多种输入和输出的格式,包括但不限于:
- 输入格式:Markdown、HTML、Word(.docx)等;
- 输出格式:PDF、HTML、Word(.docx)、Markdown等。
下载地址:https://github.com/liuchangfitcloud/pandoc-python-debian-docker
三、操作步骤
1、搭建 pandoc-api 服务
pandoc-api服务的作用是,将文本信息转换成word 文档,并提供下载链接。搭建过程如下:
下载pandoc-api.tar镜像压缩包到本地服务器,执行下载命令:
wget https://try1.fit2cloud.cn/pandoc-api.tar

加载pandoc-api镜像,执行加载命令:
docker load -i pandoc-api.tar

运行pandoc-api服务,执行运行命令:
docker run -d -p 5000:5000 --restart=always --name pandoc-api pandoc-api
2、基于MaxKB发布调用 pandoc-api 服务的函数。
import requests
def convert_markdown_to_word(markdown_text):
"""
发送 Markdown 文本到指定的 API,并获取生成的 Word 文件的下载链接
:param markdown_text: Markdown 格式的文本
:param api_url: API 的 URL
:return: Word 文件的下载链接
"""
# pandoc-api 部署 pandoc-api 的服务器的URL地址
api_url = "http://ip:5000/convert"
# 构造请求数据
data = {
"markdown": markdown_text
}
# 发送 POST 请求
response = requests.post(api_url, json=data)
# 检查响应状态
if response.status_code == 200:
# 解析 JSON 响应
response_data = response.json()
if 'download_url' in response_data:
# 返回下载链接
return response_data['download_url']
else:
return "Error: 'download_url' not found in the response"
else:
# 返回错误信息
return f"Error: {response.status_code}, {response.text}"
其中将 markdown_test 设置成输入参数,具体参见如下:

3、基于MaxKB创建应用编排调用 pandoc-api 服务的函数。
如下图所示,前端流程节点为 AI 对话节点,下面添加文档生成函数节点,输入参数设置为AI 回答内容即可。

四、最终效果演示
工作流执行详情,如下图所示点击下载即可下载到文档
