init commit
This commit is contained in:
39
macOS/word_opt.py
Normal file
39
macOS/word_opt.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from mcp.server.fastmcp import FastMCP
|
||||
import os
|
||||
import docx
|
||||
from docx.oxml.ns import qn
|
||||
|
||||
|
||||
mcp = FastMCP("word")
|
||||
|
||||
@mcp.tool()
|
||||
async def create_word_doc(filename: str, content: str, filepath: str) -> str:
|
||||
"""在macOS下创建一个Word文档。
|
||||
|
||||
Args:
|
||||
filename: 文件名(如 example.docx)
|
||||
content: 文档正文内容
|
||||
filepath: 文件保存路径(若用户未提供则默认为"~/Desktop")
|
||||
"""
|
||||
if docx is None:
|
||||
return "python-docx 未安装,请先运行 pip install python-docx"
|
||||
try:
|
||||
doc = docx.Document()
|
||||
para = doc.add_paragraph(content)
|
||||
run = para.runs[0] if para.runs else para.add_run(content)
|
||||
font = run.font
|
||||
font.name = "宋体"
|
||||
# 设置中英文字体
|
||||
r = run._element
|
||||
r.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
|
||||
r.rPr.rFonts.set(qn('w:ascii'), 'Times New Roman')
|
||||
r.rPr.rFonts.set(qn('w:hAnsi'), 'Times New Roman')
|
||||
|
||||
save_path = os.path.expanduser(os.path.join(filepath, filename))
|
||||
doc.save(save_path)
|
||||
return f"Word文档已在指定路径创建,创建路径为: {save_path}"
|
||||
except Exception as e:
|
||||
return f"创建Word文档失败: {e}"
|
||||
|
||||
if __name__ == "__main__":
|
||||
mcp.run(transport='stdio')
|
Reference in New Issue
Block a user