关于 docx
用于读取、创建、编辑和转换 DOCX 文档的技能,介绍文本处理、OOXML 修改、修订跟踪及图像转换等工作流。
主要功能
- 01使用 Pandoc 提取文本
- 02检查文档原始 XML
- 03使用 docx-js 创建文档
- 04编辑 OOXML 并跟踪修订
- 05将 DOCX 页面转换为图像
适用场景
- 01提取文本和修订内容
- 02创建新的 DOCX 文档
- 03编辑商务或法律文档
- 04生成文档页面图像
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ moizibnyousaf/ ai-agent-skills --skill docx安装后在 Claude Code 中输入/docx确认已加载。
详细介绍
DOCX 处理
工作流决策树
- 读取/分析:使用文本提取或原始 XML 访问
- 创建新文档:使用 docx-js(JavaScript)
- 编辑现有文档:使用 OOXML 编辑或修订工作流
读取内容
使用 Pandoc 提取文本
# Convert to markdown with tracked changes
pandoc --track-changes=all file.docx -o output.md
访问原始 XML
# Unpack document
unzip document.docx -d unpacked/
# Key files:
# word/document.xml - Main content
# word/comments.xml - Comments
# word/media/ - Images
创建新文档(docx-js)
import { Document, Paragraph, TextRun, Packer } from 'docx';
import fs from 'fs';
const doc = new Document({
sections: [{
children: [
new Paragraph({
children: [
new TextRun({ text: "Hello ", bold: true }),
new TextRun({ text: "World", italics: true })
]
})
]
}]
});
const buffer = await Packer.toBuffer(doc);
fs.writeFileSync('document.docx', buffer);
编辑现有文档
简单编辑
- 解压:
unzip doc.docx -d unpacked/ - 编辑
word/document.xml - 重新打包:
cd unpacked && zip -r ../edited.docx .
修订(保留修订记录)
对于专业文档,请使用修订功能:
<w:del w:author="Author" w:date="2025-01-01T00:00:00Z">
<w:r><w:delText>old text</w:delText></w:r>
</w:del>
<w:ins w:author="Author" w:date="2025-01-01T00:00:00Z">
<w:r><w:t>new text</w:t></w:r>
</w:ins>
转换为图像
# DOCX to PDF
soffice --headless --convert-to pdf document.docx
# PDF to images
pdftoppm -jpeg -r 150 document.pdf page
最佳实践
- 使用 Pandoc 提取文本
- 使用 docx-js 创建新文档
- 对于法律/商务文档,始终使用修订功能
- 编辑时保留原始 RSID
评论
支持 Markdown