L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Documents · SKILL.md

docx-editor

docx-editor

Word 文档编辑工具 - 创建、编辑和分析文档,支持修订跟踪、评论、格式保留和文本提取。 当用户需要:创建 Word 文档、编辑内容、处理修订、添加评论、分析文档时触发此技能。

Independent GitHub snapshot · Automated classification · Original documentation governs

Hhhhh124hhhh / skillmateApache-2.0

Documentation de la Skill

GitHub

name: docx-editor description: | Word 文档编辑工具 - 创建、编辑和分析文档,支持修订跟踪、评论、格式保留和文本提取。 当用户需要:创建 Word 文档、编辑内容、处理修订、添加评论、分析文档时触发此技能。

DOCX 创建、编辑和分析

概述

用户可能要求你创建、编辑或分析 .docx 文件的内容。.docx 文件本质上是一个 ZIP 存档,包含 XML 文件和其他资源。

工作流程决策树

读取/分析内容

使用下面的"文本提取"或"原始 XML 访问"部分

创建新文档

使用"创建新的 Word 文档"工作流程

编辑现有文档

  • 你自己的文档 + 简单更改 使用"基本 OOXML 编辑"工作流程

  • 别人的文档 使用**"修订工作流程"**(推荐默认)

  • 法律、学术、商业或政府文档 使用**"修订工作流程"**(必需)

读取和分析内容

文本提取

如果只需要读取文档的文本内容,应该使用 pandoc 将文档转换为 markdown。Pandoc 提供了出色的文档结构保留支持,并可以显示修订:

# 将文档转换为 markdown 并保留修订
pandoc --track-changes=all path-to-file.docx -o output.md
# 选项:--track-changes=accept/reject/all

创建新的 Word 文档

从零创建新的 Word 文档时,使用 python-docx,它允许使用 Python 创建 Word 文档。

工作流程

  1. 安装 python-docx:pip install python-docx
  2. 使用 Python 脚本创建文档

示例代码

from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 创建新文档
doc = Document()

# 添加标题
title = doc.add_heading('文档标题', 0)
title.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

# 添加段落
para = doc.add_paragraph()
run = para.add_run('这是普通文本,')
run.bold = True

run = para.add_run('这是粗体文本。')
run.font.color.rgb = RGBColor(0xFF, 0x00, 0x00)

# 添加表格
table = doc.add_table(rows=3, cols=3)
table.style = 'Table Grid'
for i in range(3):
    for j in range(3):
        cell = table.rows[i].cells[j]
        cell.text = f'单元格 {i+1}-{j+1}'

# 保存文档
doc.save('output.docx')

编辑现有的 Word 文档

基本编辑

from docx import Document

# 加载现有文档
doc = Document('existing.docx')

# 修改段落
for para in doc.paragraphs:
    if '旧文本' in para.text:
        para.text = para.text.replace('旧文本', '新文本')

# 添加新段落
doc.add_paragraph('新的段落内容')

# 保存
doc.save('modified.docx')

格式化编辑

from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.style import WD_STYLE_TYPE

doc = Document('existing.docx')

# 修改标题样式
for para in doc.paragraphs:
    if para.style.name.startswith('Heading'):
        para.runs[0].font.size = Pt(16)
        para.runs[0].font.color.rgb = RGBColor(0x42, 0x24, 0xE9)

# 保存
doc.save('formatted.docx')

使用修订跟踪

对于需要修订跟踪的专业文档编辑:

  1. 使用 LibreOffice:

    soffice --headless --accept="socket,host=localhost,port=8100;urp;"
    
  2. 使用 python-docx 添加修订(需要额外库):

    # 需要更复杂的 OOXML 操作
    # 建议使用 LibreOffice 或专门的处理工具
    

常见任务

添加图片

from docx import Document
from docx.shared import Inches

doc = Document()

# 添加图片
doc.add_picture('image.png', width=Inches(4.0))

# 保存
doc.save('document_with_image.docx')

添加页眉页脚

from docx import Document

doc = Document()

# 添加页眉
section = doc.sections[0]
header = section.header
header_para = header.paragraphs[0]
header_para.text = "这是页眉"

# 添加页脚
footer = section.footer
footer_para = footer.paragraphs[0]
footer_para.text = "第  页"

doc.save('document_with_header_footer.docx')

提取文本

from docx import Document

doc = Document('document.docx')

# 提取所有段落文本
for para in doc.paragraphs:
    print(para.text)

# 提取表格文本
for table in doc.tables:
    for row in table.rows:
        for cell in row.cells:
            print(cell.text)

批量处理

import os
from docx import Document

# 批量处理目录中的所有 Word 文档
input_dir = 'input_docs/'
output_dir = 'output_docs/'

os.makedirs(output_dir, exist_ok=True)

for filename in os.listdir(input_dir):
    if filename.endswith('.docx'):
        doc = Document(os.path.join(input_dir, filename))

        # 执行编辑操作
        # ...

        # 保存到输出目录
        doc.save(os.path.join(output_dir, filename))

最佳实践

库选择

  • python-docx:最适合基本创建和编辑
  • pandoc:最适合格式转换和文本提取
  • LibreOffice:最适合复杂的修订跟踪功能

使用 python-docx

  • 始终在修改后保存文档
  • 复杂的格式可能需要直接操作 XML
  • 修订跟踪需要额外处理

代码风格

编写简洁的代码:

  • 使用有意义的变量名
  • 避免不必要的打印语句
  • 保持函数简单和专注

依赖要求

  • python-docx: pip install python-docx
  • pandoc: 系统包管理器安装
  • LibreOffice: 系统包管理器安装(用于高级功能)
Skills enregistrées