name: word-format-adapter slug: word-format-adapter displayName: Word文件格式自動適配 description: > Word文件格式自動適配Skill。根據期刊、學校、出版社或機關單位的格式規範說明文件, 自動解析格式要求並調整源文件的Word格式,包括字型、字號、行距、間距、標題層級、 頁邊距、摘要、參考文獻等排版要素。適用於論文、公文、期刊發文、報告等各種有格式要求的文件場景。
支援輸入格式:源文件可為 .docx / .doc / .md(Markdown),格式說明文件可為 .docx / .doc / .md, 輸出始終為 .docx 格式。
安裝方式:將本Skill包(zip或資料夾)拖入Agent對話方塊,Agent讀取SKILL.md後即可掌握該能力。
觸發條件:使用者上傳格式規範說明文件和源文件,要求按規範調整格式; 使用者提到"格式調整""排版""按期刊要求""投稿格式""論文格式""公文格式""字型字號""安裝該技能"等。
觸發優先順序:1) 使用者同時上傳兩個檔案+明確格式化指令(最高優先順序)→ 直接執行; 2) 使用者僅上傳格式規範文件 → 進入分步模式,先解析規範輸出JSON; 3) 使用者僅提及關鍵詞但未上傳檔案 → 詢問使用者上傳所需檔案; 4) 多個技能同時匹配觸發詞時,以使用者上傳的檔案型別為準(有.docx/.md文件優先匹配本技能)。
Keywords: word格式, 論文排版, 公文排版, 格式調整, 投稿格式, 期刊格式, 學位論文格式, 公文格式, 期刊發文格式, 字型字號, 行距間距, 標題格式, 頁邊距, 自動排版, format paper, journal format, word formatting, paper template, 格式規範, 排版規範, 安裝技能, markdown, md.
本Skill使Agent具備根據任意格式規範說明文件,自動調整源文件Word格式的能力。適用於論文、公文、期刊發文、報告等各類有格式要求的文件場景。
核心價值:將"閱讀幾十頁格式規範→手動逐項調整Word格式"的繁瑣工作,自動化為"上傳兩個檔案→一鍵完成"。
v1.1 增強能力(較初版):
- 複雜表格:自動新增邊框、表頭加粗+底色、單元格垂直居中、單元格內邊距、跨頁重複表頭、表格整體對齊。規則見 table 欄位。
- 公式支援:自動識別 OMML/OLE 公式段落並保護其不被重新排版;設定文件預設公式字型;Markdown 輸入的 $x^2$/$x_i$ 可轉換為帶上下標的公式文本。
- 版本管理:SKILL.md 增加 version 欄位,並新增 CHANGELOG.md 記錄各版本變更。
支援的檔案格式:
| 型別 | 支援的輸入格式 | 輸出格式 |
|---|---|---|
| 格式規範文件 | .md / .docx / .doc / .wps / .pdf / .rtf / .png / .jpg / .jpeg / .bmp / .tiff | — |
| 源文件 | .md / .docx / .doc / .wps / .pdf / .rtf / .png / .jpg / .jpeg / .bmp / .tiff | .docx |
注: - .md 檔案會自動轉換為 .docx 後再進行格式處理。 - .pdf 檔案需安裝可選依賴(
pdfplumber/pdf2docx),見下方「環境依賴」。 - 圖片檔案需安裝可選 OCR 依賴(推薦rapidocr-onnxruntime),或由 Agent 視覺能力直接提取。 - .wps 檔案通常可被 python-docx 直接讀取。 - .rtf 檔案通過純文本剝離或 pywin32(Windows)轉換。
本Skill擅長根據格式規範自動調整文件排版,但以下場景不在處理範圍內:
7w4.net小蔥技能站收錄全網優質技能,值得收藏。
| 不支援的場景 | 原因 | 建議替代方案 |
|---|---|---|
| 複雜巢狀表格(合併單元格) | python-docx 無法修改合併單元格結構 | 手動調整表格結構後再格式化 |
| 多級編號列表自動重排 | 僅調整格式,不重新編排編號 | 使用 Word 自動編號功能 |
| 腳註/尾註格式 | python-docx 對腳註尾註 API 支援有限 | 手動調整腳註格式 |
| 宏文件/VBA | 不處理宏和程式碼 | 去除宏後處理 |
| 修訂模式/批註 | 不處理修訂標記和批註 | 接受所有修訂後處理 |
| 複雜分節符頁面設定 | 分節符可能影響頁面設定應用 | 手動檢查分節頁面 |
| 內容重寫/潤色 | 僅調整格式,不修改文字內容 | 使用其他工具處理內容 |
兜底方案:當格式說明文件語義複雜導致自動解析不準確時:
1. 使用 --parse-only 先檢視解析結果,手動修正規則 JSON
2. 使用 --llm-parse 生成 Prompt,藉助大模型解析複雜規範
3. 在 Agent 對話中要求修正:"一級標題字號應該是14不是16"
遇到問題?請查閱 references/faq.md 常見問題排錯指南。
本Skill的Python工具核心依賴 python-docx,可選依賴用於圖片/PDF/RTF支援。
核心依賴(必需):
python -c "import docx" 2>/dev/null || python -m pip install -r requirements.txt
可選依賴(按需安裝):
# 圖片 OCR + PDF + RTF 支援(一鍵安裝)
python -m pip install -r requirements-optional.txt
# 或單獨安裝:
# 圖片 OCR(推薦 RapidOCR,輕量~50MB,中文優秀)
python -m pip install rapidocr-onnxruntime
# PDF 文本提取 + PDF轉docx
python -m pip install pdfplumber pdf2docx
requirements.txt(核心)和 requirements-optional.txt(可選)。python -m pip(而非裸 pip),避免裝到錯誤直譯器。當格式規範文件或源文件為圖片格式(.png/.jpg/.jpeg/.bmp/.tiff)時,按以下三層降級鏈處理:
角色A — 圖片作為格式說明文件(僅需提取文本):
analyzeImage 工具或多模態理解)OCR 質量最高(多模態 LLM 遠超傳統 OCR)
第2層 — Python OCR 引擎(程式碼自動降級):
指令碼按優先順序嘗試以下 OCR 引擎:
rapidocr-onnxruntime):首選,輕量~50MB,中文優秀,pip install 即可pytesseract + Pillow):備選,通用,需額外安裝 Tesseract + chi_sim 語言包easyocr):末選,質量好但依賴 PyTorch ~500MB第3層 — 優雅失敗:
角色B — 圖片作為源文件(需識別結構:標題/段落/表格/插圖):
# = 文件標題## = 一級標題(1. / 一、 / 第一章)### = 二級標題(1.1 / (一))#### = 三級標題(1.1.1 / 1.)| col | col | = 表格此方案結構識別質量最高(多模態 LLM 理解版面語義)
第2層 — PaddleOCR PP-Structure(Python 版面分析 fallback):
需安裝:pip install paddleocr(約1GB)
第3層 — RapidOCR 帶座標啟發式推斷:
結構識別質量中等
第4層 — 純 OCR 文本:
文本版 PDF(正常 PDF):
- 使用 pdf2docx 轉換為 docx,保留段落/表格結構
- 標題樣式通常丟失,但 DocumentStructureAnalyzer 可通過編號正則識別
掃描版 PDF(實為圖片):
- 指令碼自動檢測是否為掃描件(文本量極少 + 含圖片)
- 若為掃描件:每頁渲染為圖片(200dpi) → 走圖片源文件處理協議(上述角色B)
- 需安裝 PyMuPDF(fitz) 用於渲染:pip install PyMuPDF
當用戶將本Skill包拖入對話方塊並說"安裝該技能"時:
SKILL.md 理解能力範圍src/ 目錄下的Python工具程式碼(如環境支援Python執行)references/llm-parse-prompt.md 獲取LLM解析模板references/format-rules-schema.md 理解JSON規則格式python-docxcheck_optional_capabilities() 檢測可選依賴,記錄可用能力安裝時 Agent 應詢問使用者預期輸入格式,按需推薦安裝:
問使用者:"您的格式說明文件和源文件主要是什麼格式?"
| 使用者回答 | 推薦安裝 | 原因 |
|---|---|---|
.docx / .doc / .md / .wps |
無需可選依賴 | 核心依賴已夠用 |
.pdf(格式說明或源文件) |
pip install pdfplumber pdf2docx |
PDF文本提取 + PDF轉docx |
| 圖片(格式說明) | pip install rapidocr-onnxruntime |
OCR提取格式要求文本,~50MB |
| 圖片(源文件) | pip install paddleocr |
需版面分析識別標題/段落/表格結構,~1GB |
| 掃描版PDF(源文件) | pip install paddleocr PyMuPDF |
渲染為圖片 + 版面分析 |
| 不確定 | pip install rapidocr-onnxruntime pdfplumber pdf2docx |
輕量組合,覆蓋大多數場景 |
關鍵區分:
- 格式說明文件為圖片 → 只需 rapidocr-onnxruntime(提取文本即可,無需版面分析)
- 源文件為圖片 → 需 paddleocr(必須識別標題/段落/表格等結構)
- Agent 有視覺能力 → 圖片源文件無需安裝任何 OCR 庫(Agent 直接輸出結構化 Markdown)
使用者安裝後,使用以下標準指令觸發:
"將 [源文件.docx/.md] 按照 [格式說明.docx/.md] 的要求,進行完整的格式設定,並輸出修改後的標準格式文件到 [指定路徑/資料夾]"
Agent收到上述指令後,按以下步驟執行:
references/llm-parse-prompt.md 中的Prompt模板,將規範文本輸入LLM進行解析format_rules.json(儲存到工作目錄)src/md_converter.py 轉換為臨時 .docx 檔案src/doc_structure_analyzer.py 的邏輯分析文件結構{原檔名}_formatted.docx如果使用者只上傳了規範文件:
"請解析這個格式規範,輸出一個可以複用的規則檔案"
Agent執行Step 1,輸出JSON規則檔案,告知使用者儲存後可在後續格式化中複用。
格式規範文件可以是 .docx/.doc/.md 格式。Agent:
然後使用 references/llm-parse-prompt.md 中的標準化Prompt,讓LLM提取以下要素:
| 要素 | 提取內容 |
|---|---|
| 頁面設定 | 紙張大小、頁邊距(上/下/左/右)、頁首頁尾距離 |
| 文件標題 | 字型、字號、加粗、對齊 |
| 一級標題 | 字型、字號、加粗、對齊、段前段後間距、行距 |
| 二級標題 | 同上 |
| 三級標題 | 同上 |
| 四級標題 | 同上 |
| 正文 | 中文字型、英文字型、字號、行距、首行縮排 |
| 摘要 | 字型、字號、行距、縮排 |
| 關鍵詞 | 字型、字號、加粗 |
| 參考文獻 | 字型、字號、行距、對齊、縮排 |
| 圖表標題 | 字型、字號、對齊 |
| 表格 | 表體字型、表頭字型/底色/加粗、邊框、對齊、單元格內邊距、跨頁表頭 |
| 公式 | 預設公式字型、公式段落保護 |
關鍵:LLM解析後,Agent必須向用戶展示提取的規則摘要,讓使用者確認或修改。
當源文件為 .md 格式時,使用 src/md_converter.py 進行輕量級轉換:
| Markdown 語法 | Word 轉換結果 |
|---|---|
# 標題 |
Heading 1 |
## 標題 |
Heading 2 |
### 標題 |
Heading 3 |
#### 標題 |
Heading 4 |
| 普通段落 | Normal 段落 |
**粗體** / __粗體__ |
加粗文本 |
*斜體* / _斜體_ |
斜體文本 |
`程式碼` |
Courier New 字型 |
程式碼塊 |
Courier New 字型,帶縮排 |
- 列表項 |
List Bullet |
1. 列表項 |
List Number |
> 引用 |
斜體,灰色,帶縮排 |
--- 分隔線 |
灰色分隔線 |
轉換後,再按照格式規則統一調整字型和段落格式。
使用 src/doc_structure_analyzer.py 中的識別邏輯:
| 段落型別 | 識別規則 |
|---|---|
| 文件標題 | 文件前5段內、無編號、長度20-50字、無標點結尾 |
| 作者資訊 | 文件前5段內、短文本(<20字) |
| 摘要標籤 | 文本為"摘要"或"Abstract"(不區分大小寫) |
| 摘要內容 | 摘要標籤後的長文本段落(>50字) |
| 關鍵詞 | 文本含"關鍵詞"或"Keywords" |
| 一級標題 | 匹配 1. / 第一章 / 一、 / 第1章 等 |
| 二級標題 | 匹配 1.1 / (1) / (一) 等 |
| 三級標題 | 匹配 1.1.1 / (a) / 1.(阿拉伯數字+點,公文三級)等 |
| 四級標題 | 匹配 1.1.1.1 / (1)(公文四級)等 |
| 參考文獻標籤 | 文本為"參考文獻"或"References" |
| 參考文獻條目 | 匹配 [1] / 1. 編號模式,且在參考文獻標籤之後 |
| 圖表標題 | 匹配 圖1 / Fig.1 / 表1 / Table 1 |
| 正文 | 以上均不匹配,預設為正文 |
使用 src/format_applier.py 中的邏輯,通過python-docx庫修改Word文件:
| 輸入項 | 格式 | 必需 | 說明 |
|---|---|---|---|
| 格式規範文件 | .md / .docx / .doc / .wps / .pdf / .rtf / 圖片 | 是 | 期刊/學校的格式說明文件 |
| 源文件 | .md / .docx / .doc / .wps / .pdf / .rtf / 圖片 | 是 | 待格式化的文件 |
| 已有規則JSON | .json | 否 | 之前解析儲存的規則,可替代規範文件 |
| 輸出項 | 格式 | 說明 |
|---|---|---|
| 格式化後的文件 | .docx | 按規範調整後的文件 |
| 格式規則JSON | .json | 解析出的結構化規則(可選儲存) |
| 結構分析報告 | 文本 | 識別的文件結構統計 |
本Skill的核心是標準化JSON規則 + Python工具指令碼,可在任何環境中使用:
| 環境 | 使用方式 |
|---|---|
| Kimi Agent | 直接安裝本Skill,LLM解析+Python執行 |
| QClaw | 上傳規範→獲取JSON→上傳源文件→下載結果 |
| WorkBuddy | 作為工作流節點,串聯解析+應用兩個步驟 |
| Qoder | 將JSON規則注入程式碼生成上下文 |
| Trae Work | 在終端執行 python src/main.py |
| 本地Python | 直接執行工具指令碼 |
| 場景 | 處理方式 |
|---|---|
| 規範文件格式不清晰 | 向用戶展示解析出的規則,請求確認;或要求使用者提供更清晰的規範 |
| 文件結構識別錯誤 | 展示結構分析結果,讓使用者指出錯誤段落,手動修正型別 |
| 字型未安裝 | 警告使用者,使用系統預設字型替代,建議安裝所需字型 |
| python-docx執行失敗 | 回退到純LLM模式:讓LLM逐段指導使用者手動調整 |
| .doc 檔案無法讀取 | 提示使用者將 .doc 轉換為 .docx 後重試 |
| .md 檔案包含複雜元素 | 警告使用者部分元素可能轉換不完美,建議檢查輸出 |
| 輸出路徑無許可權 | 提示使用者更換路徑,或使用預設輸出目錄 |
User: 安裝該技能
Agent: ✅ Word格式適配技能已安裝。我可以幫您: 1. 解析期刊/學校/機關單位的格式規範文件(支援 .docx/.doc/.md) 2. 自動識別文件結構(標題、摘要、正文、參考文獻等) 3. 一鍵應用格式規則,生成標準格式 .docx 文件
請上傳您的格式規範文件和源文件,我會幫您完成格式化。
User: 將我的文件.docx按照計算機學報格式說明.docx的要求,進行完整的格式設定,並輸出到 /papers/ 資料夾
Agent: 好的,開始執行格式化流程:
Step 1/5: 解析格式規範... 已從《計算機學報格式說明》中提取以下規則: - 頁面:A4,頁邊距上下2.54cm,左右3.17cm - 一級標題:黑體16pt,居中,段前12磅段後6磅 - 二級標題:黑體14pt,左對齊,段前6磅段後6磅 - 正文:宋體12pt,Times New Roman英文,1.5倍行距,首行縮排2字元 - 摘要:楷體12pt,1.5倍行距 - 參考文獻:宋體10.5pt,單倍行距
Step 2/5: 讀取源文件... 文件格式:.docx,直接使用。
Step 3/5: 分析文件結構... 識別結果: - 文件標題:1個 - 作者資訊:1個 - 摘要:1個(長度約200字) - 關鍵詞:1個 - 一級標題:4個(1.引言 2.相關工作 3.方法 4.實驗) - 二級標題:8個 - 三級標題:3個 - 正文段落:42個 - 參考文獻:15條 - 圖表標題:6個
結構識別是否正確?如有誤請指出,我將修正。
Step 4/5: 應用格式規則... 正在應用格式... ✅ 頁面設定已調整 ✅ 標題格式已應用(4個一級標題、8個二級標題、3個三級標題) ✅ 正文格式已應用(42個段落) ✅ 摘要/關鍵詞格式已應用 ✅ 參考文獻格式已應用(15條) ✅ 圖表標題格式已應用(6個)
Step 5/5: 儲存文件...
格式化完成!文件已儲存至:/papers/文件_formatted.docx
User: 我的文件是 markdown 格式的,格式說明是 word 文件,能處理嗎?
Agent: 可以處理!本Skill支援 .md 格式的源文件輸入,會自動將其轉換為 .docx 後再進行格式調整。
請上傳: 1. 格式說明文件(.docx/.doc/.md) 2. 源文件(.md)
我將: 1. 解析格式規範 2. 將您的 .md 文件轉換為 .docx(保留標題、粗體、斜體、列表等格式) 3. 按照規範應用格式 4. 輸出標準格式的 .docx 檔案
User: [上傳 format_spec.docx 和 paper.md]
Agent: 收到兩個檔案,開始處理:
Step 1/5: 解析格式規範... 已從 format_spec.docx 中提取規則...
Step 2/5: 轉換源文件...
正在將 paper.md 轉換為 Word 文件...
- 識別到 Heading 1: 4個
- 識別到 Heading 2: 6個
- 識別到正文段落:38個
- 識別到粗體文本:12處
- 識別到程式碼塊:3個
轉換完成:paper_converted.docx
Step 3/5: 分析文件結構... [結構分析結果...]
Step 4/5: 應用格式規則... [格式應用結果...]
Step 5/5: 儲存文件...
格式化完成!文件已儲存至:paper_formatted.docx
User: 請幫我解析這個學位論文格式規範(.md),我要儲存規則以後用
Agent: 正在解析格式規範(.md)...
提取的規則摘要: - 頁面:A4,頁邊距上下2.5cm,左右3cm - 一級標題:黑體三號(16pt),居中 - 二級標題:黑體四號(14pt),左對齊 - 正文:宋體小四(12pt),英文Times New Roman,1.5倍行距 - 摘要:楷體小四(12pt) - 參考文獻:宋體五號(10.5pt)
規則JSON已生成,是否儲存? [輸出 format_rules.json 供下載]
您可以儲存此JSON檔案,以後格式化文件時直接上傳規則和源文件即可,無需重複解析規範。
這個 Skill 質量不錯,能解決論文、公文等文件格式調整的實際痛點。優點是支援多種格式輸入、規則可複用、多層容錯機制;文件詳細清楚,安裝使用有明確指引。不足之處是部分複雜格式(如合併單元格、修訂批註)處理不了,.doc 格式相容性一般,遇到這類檔案可能需要先手動轉換。總體而言是款實用工具,適合有固定格式要求的文件處理場景。