在文檔管理、內容發佈等場景中,將 Word(.doc/.docx)轉換為 Markdown 格式是常見需求。Markdown 的輕量、跨平台、易編輯特性,使其更適配網頁發佈、版本控制等場景。Free Spire.Doc for Python 作為一款免費的 Word 文檔處理庫,無需依賴 Office 客户端即可實現格式轉換,本文將介紹如何使用該 Python 庫將 Word 文檔轉換為 Markdown 格式。


一、工具簡介

Free Spire.Doc for Python 是一款免費的 Word 文檔處理庫,支持 Word 文檔的創建、編輯、格式轉換等核心功能。該庫的核心優勢是輕量化、API 簡潔,非商業場景下完全免費;同時也存在免費版功能限制,需結合實際需求選擇。

安裝方法:
通過pip命令一鍵安裝:

pip install spire.doc.free

二、核心轉換實現

1. 基礎單文件轉換

最簡化的 Word 轉 Markdown 代碼僅需5行,核心是 Document 類和 SaveToFile 方法:

from spire.doc import *
from spire.doc.common import *

# 1. 初始化文檔對象並加載Word文件
doc = Document()
doc.LoadFromFile("input.docx")  # 替換為你的Word文件路徑

# 2. 保存為Markdown格式
doc.SaveToFile("output.md", FileFormat.Markdown)

# 3. 釋放資源
doc.Close()

關鍵説明

  • 支持 .doc.docx 格式,無需額外處理;
  • FileFormat.Markdown 是固定枚舉值,指定輸出格式。

2. 批量轉換Word文件

若需轉換文件夾下所有 Word 文件,可結合 os 模塊實現批量處理:

import os
from spire.doc import *
from spire.doc.common import *

# 配置源文件夾和目標文件夾
SOURCE_DIR = "./word_docs"  # 存放Word文件的文件夾
TARGET_DIR = "./md_docs"    # 輸出Markdown的文件夾

# 創建目標文件夾(不存在則新建)
if not os.path.exists(TARGET_DIR):
    os.makedirs(TARGET_DIR)

# 遍歷源文件夾中的Word文件
for filename in os.listdir(SOURCE_DIR):
    # 僅處理.doc/.docx文件
    if filename.endswith((".doc", ".docx")):
        # 構建文件路徑
        word_path = os.path.join(SOURCE_DIR, filename)
        md_filename = os.path.splitext(filename)[0] + ".md"
        md_path = os.path.join(TARGET_DIR, md_filename)
        
        # 執行轉換
        doc = Document()
        try:
            doc.LoadFromFile(word_path)
            doc.SaveToFile(md_path, FileFormat.Markdown)
            print(f"✅ 成功轉換:{filename} → {md_filename}")
        except Exception as e:
            print(f"❌ 轉換失敗 {filename}:{str(e)}")
        finally:
            doc.Close()  # 無論成敗,均釋放資源

注意:Word 文檔中的圖片默認會以 Base64 編碼嵌入 Markdown 文檔。


三、工具特性分析

優點

  1. 免費且輕量:非商業場景無付費門檻,無需安裝 Office/WPS,純 Python 環境即可運行;
  2. 基礎格式兼容性好:能精準保留標題、列表、普通表格、圖片等基礎格式,滿足大部分日常需求;
  3. API簡潔易上手:核心方法僅需幾行代碼,無需深入理解 Word 文檔結構;
  4. 跨平台支持:適配 Windows/macOS/Linux,無需針對不同系統修改核心代碼。

侷限性

  1. 免費版頁數限制:單文檔限制 500 個段落、25個表格;
  2. 複雜格式支持不足:對嵌套表格、SmartArt圖形、數學公式、宏、自定義樣式的轉換效果差,易出現格式錯亂;
  3. 跨平台細節問題:Linux/macOS下對中文特殊字體的渲染不如Windows,可能出現字體丟失;

四、總結

Free Spire.Doc for Python 是一款“夠用且易用”的輕量化工具,適合中小規模、非複雜格式的 Word 轉 Markdown 場景(如博客文章、簡單説明文檔)。