文档整理技能 (document-organizer)

# 文档整理技能 (document-organizer) ## 概述 专业的文档批量处理技能,支持旧版 Office 文档(.doc/.xls)高质量转换为 Markdown,保持格式结构完整。 --- ## 核心能力 ### ✅ 格式转换 - **Word 文档**: `.doc` → `.md`(LibreOffice 直接转换) - **Word 文档**: `.docx` → `.md`(LibreOffice 直接转换) - **Excel 表格**: `.xls` → `.xlsx` → `.md`(保留表格结构) - **PowerPoint**: `.ppt` → `.pptx` → `.md`(可选支持) - **现代格式**: `.xlsx`/`.pptx` → `.md`(MarkItDown 直接处理) ### ✅ 批量处理 - 支持按目录批量转换 - 自动保持原目录结构 - 分类处理不同类型文件 - 错误自动记录,不中断流程 ### ✅ 质量保证 - 完美保留标题层级(H1-H6) - 表格结构完整(Markdown 表格) - 加粗/斜体样式保留 - 列表有序/无序完整 - 中文无乱码(UTF-8 编码) --- ## 快速开始 ### 1. 环境准备 ```bash # 安装 LibreOffice(系统级) # 下载: https://zh-cn.libreoffice.org/ # 安装 Python 依赖 pip install markitdown[docx,xlsx] ``` ### 2. 使用方法 ```bash # 交互模式(推荐) npx skills run document-organizer # 命令行参数 npx skills run document-organizer --source "源目录" --output "输出目录" --type doc,xls ``` ### 3. 配置 首次运行会检测 LibreOffice 路径,默认: - Windows: `D:\Program Files\LibreOffice\program\soffice.exe` - Linux: `/usr/bin/soffice` - macOS: `/Applications/LibreOffice.app/Contents/MacOS/soffice` --- ## 详细功能 ### 文档类型处理 | 源格式 | 转换流程 | 输出格式 | 质量 | |--------|---------|---------|------| | `.doc` | LibreOffice → Markdown | `.md` | ✅ 完美 | | `.docx` | LibreOffice → Markdown | `.md` | ✅ 完美 | | `.xls` | LibreOffice → .xlsx → MarkItDown → .md | `.md` | ✅ 完美 | | `.xlsx` | MarkItDown → .md | `.md` | ✅ 完美 | | `.ppt` | LibreOffice → .pptx → MarkItDown → .md | `.md` | ✅ 良好 | | `.pptx` | MarkItDown → .md | `.md` | ✅ 良好 | | `.pdf` | MarkItDown → .md | `.md` | ✅ 优秀(文本+表格)| ### 批量处理策略 **方案一:分类批量(推荐)** ``` 批量转换所有 .doc 文件: soffice --convert-to md *.doc 批量转换所有 .docx 文件: soffice --convert-to md *.docx 批量转换所有 .xls 文件: soffice --convert-to xlsx *.xls → markitdown *.xlsx 批量转换所有 .ppt 文件: soffice --convert-to pptx *.ppt → markitdown *.pptx ``` **方案二:递归处理** ``` 扫描目录树,按文件类型分组 分别批量转换每个子目录 保持完整目录结构输出 ``` --- ## 使用示例 ### 示例 1: 转换单个目录 ```bash # 扫描源目录 npx skills run document-organizer --source "G:\历史文档" --output "d:\知识库" ``` 输出结构: ``` 知识库/ ├── 项目A/ │ ├── 需求文档.md │ └── 设计文档.md └── 项目B/ └── 会议记录.md ``` ### 示例 2: 仅处理 Word 文档 ```bash npx skills run document-organizer --source "G:\docs" --output "d:\md" --filter .doc,.docx ``` ### 示例 3: 处理 PDF 文档 ```bash npx skills run document-organizer --source "G:\pdfs" --type pdf --output "d:\pdf_md" ``` ### 示例 4: 先扫描统计 ```bash npx skills run document-organizer --scan-only "G:\docs" # 输出: 文件统计,不执行转换 ``` --- ## 配置选项 | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `--source` | string | 必需 | 源目录路径 | | `--output` | string | `./output` | 输出目录 | | `--type` | string | `doc,xls,docx,xlsx,ppt,pptx,pdf` | 处理的文件类型(逗号分隔) | | `--soffice-path` | string | 自动检测 | LibreOffice soffice.exe 路径 | | `--log-file` | string | `conversion.log` | 日志文件路径 | | `--dry-run` | bool | `false` | 仅模拟,不实际转换 | --- ## 性能参考 **测试环境**: i5 CPU, 16GB RAM, SSD | 操作 | 数量 | 耗时 | 吞吐 | |------|------|------|------| | .doc → .md (LibreOffice) | 1,000 | ~30 秒 | 33 个/秒 | | .xls → .xlsx (LibreOffice) | 2,000 | ~1.5 分钟 | 22 个/秒 | | .xlsx → .md (MarkItDown) | 2,000 | ~2 分钟 | 17 个/秒 | | .ppt → .pptx (LibreOffice) | 500 | ~30 秒 | 17 个/秒 | | .pptx → .md (MarkItDown) | 500 | ~1 分钟 | 8 个/秒 | | .pdf → .md (MarkItDown) | 500 | ~2 分钟 | 4 个/秒 | | **总计** (3,000文件) | 3,000 | **~10-12 分钟** | - | --- ## 常见问题 ### Q: LibreOffice 找不到? A: 确保安装并添加到 PATH,或通过 `--soffice-path` 指定: ```bash npx skills run document-organizer --soffice-path "C:\Program Files\LibreOffice\program\soffice.exe" ``` ### Q: 转换失败怎么办? A: 检查错误日志,常见原因: - 源文件损坏 - 临时文件(`~$` 开头)自动跳过 - 权限不足(以管理员运行) ### Q: 可以预览而不转换吗? A: 使用 `--dry-run` 参数: ```bash npx skills run document-organizer --source "docs" --dry-run # 输出: 将转换 X 个文件,Y 个目录,跳过 Z 个 ``` ### Q: 如何只转换特定子目录? A: 结合 `--filter` 和路径模式: ```bash npx skills run document-organizer --source "docs" --filter "00_模板/*.doc" ``` --- ## 技术架构 ``` ┌─────────────────┐ │ 用户命令 │ │ npx skills ... │ └────────┬────────┘ │ ▼ ┌─────────────────────────────────────────────┐ │ 文档整理技能 (Python) │ │ • 扫描目录树 │ │ • 按类型分组 (doc/xls/docx/xlsx) │ │ • 调用 LibreOffice 批量转换 │ │ • 调用 MarkItDown 结构化转换 │ │ • 保持目录结构 + 重命名 │ │ • 错误处理 + 日志记录 │ └─────────────────────────────────────────────┘ │ ▼ ┌─────────────────┐ ┌──────────────────┐ │ LibreOffice │ │ MarkItDown │ │ (格式转换) │ │ (结构化输出) │ └─────────────────┘ └──────────────────┘ │ │ └───────────┬───────────┘ ▼ ┌─────────────┐ │ .md 文件 │ │ (可搜索) │ └─────────────┘ ``` --- ## 依赖清单 | 工具 | 版本要求 | 用途 | |------|---------|------| | LibreOffice | 7.0+ | .doc → .docx / .xls → .xlsx | | Python | 3.10+ | 脚本运行 | | markitdown | 0.1.5+ | .docx/.xlsx → .md | | pywin32 | (可选) | Windows COM 自动化(备用)| --- ## 脚本文件 本技能包含以下脚本: | 文件 | 说明 | |------|------| | `scripts/batch_convert.py` | 主脚本 - 批量文档转换(支持 .doc/.xls/.docx/.xlsx/.ppt/.pptx/.pdf)| --- ## 使用建议 ### ✅ 推荐场景 - 批量转换旧版 Office 文档(.doc/.xls) - 构建可搜索的知识库 - 文档数字化归档 - 保留原始格式和结构 ### ❌ 不推荐场景 - 仅需提取纯文本(用 `strings` 命令即可) - 扫描图片型 PDF(需 OCR 专用工具) - 在线实时转换(需启动办公软件) --- ## 版本历史 - **v1.0.4** (2026-03-12) - 修复:移除对不存在的外部 convert-markdown 目录和脚本的依赖 - 修复:移除对特定路径虚拟环境的依赖 - 优化:直接使用 markitdown 命令行工具进行转换 - 优化:增加 markitdown 命令的自动检测逻辑 - **v1.0.3** (2026-03-12) - 修复:移除不存在的 `--temp-dir` 参数 - 更新:完善所有支持的文件类型说明 - 优化:文档与实际脚本保持一致 - **v1.0.2** (2026-03-11) - 优化:移除临时目录,直接生成 .md 文件 - 新增:.docx 文件 LibreOffice 直接转换 - 优化:convert_modern 支持参数调用 - 优化:批量转换逻辑,提高速度 - 优化:--dry-run 模式跳过 LibreOffice 检查 - **v1.0.0** (2026-03-11) - 初始版本 - 支持 .doc/.xls 批量转换 - 优化:LibreOffice 直接转 Markdown - 分类处理,保持目录结构 --- **最后更新**: 2026-03-12 **适用平台**: Windows/Linux/macOS (需 LibreOffice) **许可证**: MIT

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "文档整理技能 (document-organizer)" with this command: npx skills add byteuser1977/document-organizer

文档整理技能 (document-organizer)

概述

专业的文档批量处理技能,支持旧版 Office 文档(.doc/.xls)高质量转换为 Markdown,保持格式结构完整。


核心能力

✅ 格式转换

  • Word 文档: .doc.md(LibreOffice 直接转换)
  • Word 文档: .docx.md(LibreOffice 直接转换)
  • Excel 表格: .xls.xlsx.md(保留表格结构)
  • PowerPoint: .ppt.pptx.md(可选支持)
  • 现代格式: .xlsx/.pptx.md(MarkItDown 直接处理)

✅ 批量处理

  • 支持按目录批量转换
  • 自动保持原目录结构
  • 分类处理不同类型文件
  • 错误自动记录,不中断流程

✅ 质量保证

  • 完美保留标题层级(H1-H6)
  • 表格结构完整(Markdown 表格)
  • 加粗/斜体样式保留
  • 列表有序/无序完整
  • 中文无乱码(UTF-8 编码)

快速开始

1. 环境准备

# 安装 LibreOffice(系统级)
# 下载: https://zh-cn.libreoffice.org/

# 安装 Python 依赖
pip install markitdown[docx,xlsx]

2. 使用方法

# 交互模式(推荐)
npx skills run document-organizer

# 命令行参数
npx skills run document-organizer --source "源目录" --output "输出目录" --type doc,xls

3. 配置

首次运行会检测 LibreOffice 路径,默认:

  • Windows: D:\Program Files\LibreOffice\program\soffice.exe
  • Linux: /usr/bin/soffice
  • macOS: /Applications/LibreOffice.app/Contents/MacOS/soffice

详细功能

文档类型处理

源格式转换流程输出格式质量
.docLibreOffice → Markdown.md✅ 完美
.docxLibreOffice → Markdown.md✅ 完美
.xlsLibreOffice → .xlsx → MarkItDown → .md.md✅ 完美
.xlsxMarkItDown → .md.md✅ 完美
.pptLibreOffice → .pptx → MarkItDown → .md.md✅ 良好
.pptxMarkItDown → .md.md✅ 良好
.pdfMarkItDown → .md.md✅ 优秀(文本+表格)

批量处理策略

方案一:分类批量(推荐)

批量转换所有 .doc 文件:
  soffice --convert-to md *.doc

批量转换所有 .docx 文件:
  soffice --convert-to md *.docx

批量转换所有 .xls 文件:
  soffice --convert-to xlsx *.xls  →  markitdown *.xlsx

批量转换所有 .ppt 文件:
  soffice --convert-to pptx *.ppt  →  markitdown *.pptx

方案二:递归处理

扫描目录树,按文件类型分组
分别批量转换每个子目录
保持完整目录结构输出

使用示例

示例 1: 转换单个目录

# 扫描源目录
npx skills run document-organizer --source "G:\历史文档" --output "d:\知识库"

输出结构:

知识库/
├── 项目A/
│   ├── 需求文档.md
│   └── 设计文档.md
└── 项目B/
    └── 会议记录.md

示例 2: 仅处理 Word 文档

npx skills run document-organizer --source "G:\docs" --output "d:\md" --filter .doc,.docx

示例 3: 处理 PDF 文档

npx skills run document-organizer --source "G:\pdfs" --type pdf --output "d:\pdf_md"

示例 4: 先扫描统计

npx skills run document-organizer --scan-only "G:\docs"
# 输出: 文件统计,不执行转换

配置选项

参数类型默认值说明
--sourcestring必需源目录路径
--outputstring./output输出目录
--typestringdoc,xls,docx,xlsx,ppt,pptx,pdf处理的文件类型(逗号分隔)
--soffice-pathstring自动检测LibreOffice soffice.exe 路径
--log-filestringconversion.log日志文件路径
--dry-runboolfalse仅模拟,不实际转换

性能参考

测试环境: i5 CPU, 16GB RAM, SSD

操作数量耗时吞吐
.doc → .md (LibreOffice)1,000~30 秒33 个/秒
.xls → .xlsx (LibreOffice)2,000~1.5 分钟22 个/秒
.xlsx → .md (MarkItDown)2,000~2 分钟17 个/秒
.ppt → .pptx (LibreOffice)500~30 秒17 个/秒
.pptx → .md (MarkItDown)500~1 分钟8 个/秒
.pdf → .md (MarkItDown)500~2 分钟4 个/秒
总计 (3,000文件)3,000~10-12 分钟-

常见问题

Q: LibreOffice 找不到?

A: 确保安装并添加到 PATH,或通过 --soffice-path 指定:

npx skills run document-organizer --soffice-path "C:\Program Files\LibreOffice\program\soffice.exe"

Q: 转换失败怎么办?

A: 检查错误日志,常见原因:

  • 源文件损坏
  • 临时文件(~$ 开头)自动跳过
  • 权限不足(以管理员运行)

Q: 可以预览而不转换吗?

A: 使用 --dry-run 参数:

npx skills run document-organizer --source "docs" --dry-run
# 输出: 将转换 X 个文件,Y 个目录,跳过 Z 个

Q: 如何只转换特定子目录?

A: 结合 --filter 和路径模式:

npx skills run document-organizer --source "docs" --filter "00_模板/*.doc"

技术架构

┌─────────────────┐
│   用户命令       │
│  npx skills ... │
└────────┬────────┘
         │
         ▼
┌─────────────────────────────────────────────┐
│         文档整理技能 (Python)              │
│  • 扫描目录树                               │
│  • 按类型分组 (doc/xls/docx/xlsx)         │
│  • 调用 LibreOffice 批量转换                │
│  • 调用 MarkItDown 结构化转换               │
│  • 保持目录结构 + 重命名                    │
│  • 错误处理 + 日志记录                      │
└─────────────────────────────────────────────┘
         │
         ▼
┌─────────────────┐    ┌──────────────────┐
│  LibreOffice    │    │   MarkItDown     │
│  (格式转换)      │    │  (结构化输出)     │
└─────────────────┘    └──────────────────┘
         │                       │
         └───────────┬───────────┘
                     ▼
              ┌─────────────┐
              │   .md 文件   │
              │  (可搜索)    │
              └─────────────┘

依赖清单

工具版本要求用途
LibreOffice7.0+.doc → .docx / .xls → .xlsx
Python3.10+脚本运行
markitdown0.1.5+.docx/.xlsx → .md
pywin32(可选)Windows COM 自动化(备用)

脚本文件

本技能包含以下脚本:

文件说明
scripts/batch_convert.py主脚本 - 批量文档转换(支持 .doc/.xls/.docx/.xlsx/.ppt/.pptx/.pdf)

使用建议

✅ 推荐场景

  • 批量转换旧版 Office 文档(.doc/.xls)
  • 构建可搜索的知识库
  • 文档数字化归档
  • 保留原始格式和结构

❌ 不推荐场景

  • 仅需提取纯文本(用 strings 命令即可)
  • 扫描图片型 PDF(需 OCR 专用工具)
  • 在线实时转换(需启动办公软件)

版本历史

  • v1.0.4 (2026-03-12)

    • 修复:移除对不存在的外部 convert-markdown 目录和脚本的依赖
    • 修复:移除对特定路径虚拟环境的依赖
    • 优化:直接使用 markitdown 命令行工具进行转换
    • 优化:增加 markitdown 命令的自动检测逻辑
  • v1.0.3 (2026-03-12)

    • 修复:移除不存在的 --temp-dir 参数
    • 更新:完善所有支持的文件类型说明
    • 优化:文档与实际脚本保持一致
  • v1.0.2 (2026-03-11)

    • 优化:移除临时目录,直接生成 .md 文件
    • 新增:.docx 文件 LibreOffice 直接转换
    • 优化:convert_modern 支持参数调用
    • 优化:批量转换逻辑,提高速度
    • 优化:--dry-run 模式跳过 LibreOffice 检查
  • v1.0.0 (2026-03-11)

    • 初始版本
    • 支持 .doc/.xls 批量转换
    • 优化:LibreOffice 直接转 Markdown
    • 分类处理,保持目录结构

最后更新: 2026-03-12
适用平台: Windows/Linux/macOS (需 LibreOffice)
许可证: MIT

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Cclaw

Open-source comedy AI + video editing + poster generation. Create standup/sketch/manzai/scripts, edit videos via FFmpeg, and generate comedy posters via canv...

Registry SourceRecently Updated
General

Dlazy Seedance 1.5 Pro

Convert images into dynamic dance videos using Doubao Seedance 1.5 Pro.

Registry SourceRecently Updated
General

Pod Template Pack

Use when user needs ready-to-use POD (Print on Demand) design keywords, title templates, and listing copy. Use when creating POD product listings for TikTok,...

Registry SourceRecently Updated
General

Dlazy Mj.Imagine

Generate artistic images using Midjourney (MJ) model. Supports text-to-image.

Registry SourceRecently Updated