Skip to content

Repository files navigation

Word 轉 HTML 工具

這是一個用 Python 編寫的工具,可以將 Word 檔案 (.docx) 轉換為 HTML 格式,自動提取圖片,並支援直接上傳到 Joomla CMS 和遠端伺服器。

功能

  • ✅ 將 Word 文件內容轉換為 HTML
  • ✅ 自動提取並儲存所有圖片為 PNG 格式
  • ✅ 圖片固定尺寸顯示(500px × 333px)
  • ✅ 保留文字格式(粗體、斜體、標題等)
  • ✅ 支援表格轉換
  • ✅ 互動式路徑設定(01 新聞/02 日誌)
  • ✅ 自動上傳圖片到遠端伺服器(可選)
  • 直接上傳文章到 Joomla CMS(新功能!)

快速開始

Image

基本使用(只轉換)

python word_to_html_converter.py input.docx --custom

完整功能(轉換 + 上傳圖片 + 上傳到 Joomla)

python word_to_html_converter.py input.docx --custom --upload --joomla

安裝

1. 建立虛擬環境

python3 -m venv venv

2. 啟動虛擬環境

# macOS / Linux
source venv/bin/activate

# Windows
venv\Scripts\activate

3. 安裝依賴套件

pip install --upgrade pip
pip install -r requirements.txt

4. 配置伺服器和 Joomla 上傳(可選)

複製 .env.example.env 並填入信息:

cp .env.example .env

編輯 .env 檔案配置:

Joomla 配置

JOOMLA_URL=https://your-joomla-site.com/home
JOOMLA_USERNAME=admin
JOOMLA_PASSWORD=your_password
JOOMLA_NEWS_CATEGORY=2
JOOMLA_DIARY_CATEGORY=3
JOOMLA_AUTO_PUBLISH=0  # 0=草稿, 1=自動發布

伺服器配置(可選):

SERVER_HOST=your-server-ip
SERVER_USERNAME=username
SERVER_PASSWORD=your_password
SERVER_IMAGES_PATH=/var/www/html/project/images/
SERVER_PORT=22

詳見 Joomla 設定指南

使用方式

1. 基本用法(只轉換)

python word_to_html_converter.py input.docx

生成 output.htmloutput/images/ 目錄

2. 互動式模式(推薦)

python word_to_html_converter.py input.docx --custom
  • 詢問文章類型(01 新聞 / 02 日誌)
  • 詢問年份、月份、日期
  • 自動生成如 news-20260120.htmllog-20260321.html 的檔案名
  • 圖片存在日期對應的子目錄中

3. 上傳圖片到伺服器

python word_to_html_converter.py input.docx --custom --upload

在轉換後自動將圖片上傳到遠端伺服器(需在 .env 設定)

4. 上傳到 Joomla CMS(新功能)

python word_to_html_converter.py input.docx --custom --joomla
  • 轉換 Word 為 HTML
  • 建立文章為 Joomla 草稿
  • 詢問是否發布(若 JOOMLA_AUTO_PUBLISH=0)
  • 提供刪除或發布選項

5. 完整工作流程

python word_to_html_converter.py input.docx --custom --upload --joomla

執行以下步驟:

  1. 轉換 Word 為 HTML
  2. 提取圖片
  3. 上傳圖片到伺服器
  4. 上傳文章到 Joomla CMS

輸出說明

互動式模式輸出範例

日期 2026/01/20,類型 01 新聞:

output/
├── news-20260120.html          # HTML 文件(帶固定 500×333px 圖片尺寸)
└── images/
    └── 01news/2026/01/0120/
        ├── image_1.png
        └── image_2.png

日期 2026/03/21,類型 02 日誌:

output/
├── log-20260321.html           # HTML 文件(帶固定 500×333px 圖片尺寸)
└── images/
    └── 02diary/2026/03/0321/
        ├── image_1.png
        └── image_2.png

HTML 中的圖片引用

<!-- 自動設定固定尺寸 -->
<img src="images/01news/2026/01/0120/image_1.png" 
     alt="圖片 1" 
     width="500" 
     height="333" />

所有圖片都統一為 500px × 333px 尺寸。

支援的格式

  • 文本: 普通文本、粗體、斜體
  • 標題: Heading 1, 2, 3
  • 圖片: 內聯圖片、浮動圖片(自動轉換為 PNG,固定尺寸 500×333px)
  • 表格: 完整表格支援

進階功能

Joomla 集成

詳見完整的 Joomla 設定指南

快速檢查清單:

  • Joomla 4.0 或更新版本
  • API 已啟用(系統 → 全域設定 → API)
  • .env 已設定 Joomla 信息
  • 驗證認證可以成功連接

伺服器上傳配置

使用 SSH 密鑰(推薦):

# 編輯 .env
SERVER_KEY_PATH=/path/to/your/private/key

使用密碼:

SERVER_PASSWORD=your_password

安全建議

  • ✅ 不要將 .env 提交到 Git(已在 .gitignore 中)
  • ✅ 使用 SSH 密鑰而不是密碼
  • ✅ 為 Joomla API 使用強密碼
  • ✅ 定期檢查上傳的文章品質

About

Word 到 HTML 轉換工具,自動提取圖片、上傳伺服器,完美整合 Joomla CMS

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages