name: word-documents description: 通过 Bedrock Code Interpreter 使用 python-docx 创建、修改和管理 Word 文档。
Word 文档
使用时机
| 工具 | 使用时机 |
|---|---|
create_word_document |
用户要求创建/生成一个新的 Word 文档 |
modify_word_document |
用户要求编辑/更新现有文档或添加内容 |
list_my_word_documents |
用户询问有哪些文档可用 |
read_word_document |
用户想要下载一个文档 |
preview_word_page |
检查实际页面外观(图表、图像、复杂布局) |
工作流程
- 修改前:调用
preview_word_page检查当前布局。 - 创建/修改后:调用
preview_word_page进行验证。 - 按顺序运行工具(切勿并行),以防止文件竞争条件。
页面设置
python-docx 默认使用 A4 纸张。对于美国信纸尺寸:
from docx.shared import Inches
section = doc.sections[0]
section.page_width = Inches(8.5)
section.page_height = Inches(11)
# 设置 1 英寸边距
section.top_margin = Inches(1)
section.bottom_margin = Inches(1)
section.left_margin = Inches(1)
section.right_margin = Inches(1)
专业格式化
- 字体:默认使用 Arial。通过
style.font.name = 'Arial'设置。 - 标题:使用适当的标题样式以确保目录兼容性:
doc.add_heading('Title', level=1)或doc.add_paragraph(style='Heading 1')。 - 项目符号列表:
doc.add_paragraph(style='List Bullet')。切勿插入 Unicode 项目符号字符。 - 编号列表:
doc.add_paragraph(style='List Number')。 - 修改时始终保留现有样式、字体和颜色。
图像
from docx.shared import Inches
paragraph = doc.add_paragraph()
run = paragraph.add_run()
run.add_picture('file.png', width=Inches(6))
代码规则
- 文档已预初始化为
doc = Document()(创建时)或加载为doc(修改时)。不要包含Document()或doc.save()。 - 可用库:python-docx、matplotlib、pandas、numpy(seaborn 不可用)
- 对于项目符号列表,使用
add_paragraph(style='List Bullet')。切勿插入 Unicode 项目符号字符。 - 切勿使用
paragraph.text = 'new text'(会破坏格式化)。使用 runs 代替。 - 文件名:仅使用字母、数字、连字符。
工具参考
create_word_document
使用 python-docx 代码创建一个新的 Word 文档。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
python_code |
str | 是 | 使用 python-docx 的 Python 代码(见上方代码规则) |
document_name |
str | 是 | 文件名(不带扩展名,仅限字母、数字、连字符) |
示例 tool_input:
{
"python_code": "doc.add_heading('Quarterly Report', 0)
doc.add_paragraph('This report summarizes Q4 performance.')
doc.add_heading('Revenue', level=1)
doc.add_paragraph('Total revenue: $1.2M')",
"document_name": "quarterly-report"
}
警告:参数是 document_name,而不是 filename 或 name。
modify_word_document
修改现有的 Word 文档并以新名称保存。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
source_name |
str | 是 | 现有文档名称(不带 .docx) |
output_name |
str | 是 | 新输出名称(必须与源不同) |
python_code |
str | 是 | 修改文档的 Python 代码 |
示例 tool_input:
{
"source_name": "quarterly-report",
"output_name": "quarterly-report-v2",
"python_code": "doc.add_paragraph('Additional notes added.')"
}
list_my_word_documents
列出工作空间中的所有 Word 文档。无需参数。
read_word_document
检索特定文档以下载。
| 参数 | 类型 | 必需 |
|---|---|---|
document_name |
str | 是 |
preview_word_page
获取页面截图,以便在编辑前进行视觉检查。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
document_name |
str | 是 | 文档名称(不带扩展名) |
page_numbers |
list[int] | 是 | 基于 1 的页码进行预览 |