在文檔管理、內容發佈等場景中,將 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 文檔。
三、工具特性分析
優點
- 免費且輕量:非商業場景無付費門檻,無需安裝 Office/WPS,純 Python 環境即可運行;
- 基礎格式兼容性好:能精準保留標題、列表、普通表格、圖片等基礎格式,滿足大部分日常需求;
- API簡潔易上手:核心方法僅需幾行代碼,無需深入理解 Word 文檔結構;
- 跨平台支持:適配 Windows/macOS/Linux,無需針對不同系統修改核心代碼。
侷限性
- 免費版頁數限制:單文檔限制 500 個段落、25個表格;
- 複雜格式支持不足:對嵌套表格、SmartArt圖形、數學公式、宏、自定義樣式的轉換效果差,易出現格式錯亂;
- 跨平台細節問題:Linux/macOS下對中文特殊字體的渲染不如Windows,可能出現字體丟失;
四、總結
Free Spire.Doc for Python 是一款“夠用且易用”的輕量化工具,適合中小規模、非複雜格式的 Word 轉 Markdown 場景(如博客文章、簡單説明文檔)。