No description
Find a file
2026-01-21 16:07:32 +08:00
.devcontainer fix(docker): add python3-tinycss2 for Inkscape DXF export (#498) 2026-01-11 16:18:46 +01:00
.github fix(ci): 修正 Release workflow 確保 Docker Image 正確發佈 2026-01-20 12:52:02 +08:00
.vscode chore: fix lint 2025-10-05 14:19:13 +00:00
api-server feat(api): Docker Compose 整合與補充文件 - Docker Compose profiles 支援選用 API Server - API Server Dockerfile (多階段建置) - .env.api.example 環境變數範本 - integration_tests.rs 完整整合測試 - health_check.sh 健康檢查腳本 - 主專案 README 新增 API Server 說明區塊 2026-01-21 11:50:11 +08:00
docs docs: README 重構 + i18n UI 規範 + 文件連結整理 2026-01-20 17:00:21 +08:00
fonts feat: bundle full conversion dependencies into image 2026-01-19 22:00:45 +08:00
images fix: wrong layout on search with few options 2024-09-26 23:37:19 +02:00
public fix: resolve lint issues (XSS K601, knip unused exports, eslint errors) 2026-01-21 16:00:26 +08:00
src fix: resolve lint issues (XSS K601, knip unused exports, eslint errors) 2026-01-21 16:00:26 +08:00
tests fix: resolve lint issues (XSS K601, knip unused exports, eslint errors) 2026-01-21 16:00:26 +08:00
.bun-version chore: add bun version files 2025-08-13 23:35:07 +02:00
.dockerignore refactor: split main file to pages 2025-06-03 15:04:18 +02:00
.gitignore chore: add devcontainer 2025-10-05 13:57:54 +00:00
biome.json chore: fix lint 2025-10-05 14:19:13 +00:00
bun.lock feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00
CHANGELOG.md release: v0.1.10 2026-01-21 16:07:32 +08:00
compose.yaml feat(api): Docker Compose 整合與補充文件 - Docker Compose profiles 支援選用 API Server - API Server Dockerfile (多階段建置) - .env.api.example 環境變數範本 - integration_tests.rs 完整整合測試 - health_check.sh 健康檢查腳本 - 主專案 README 新增 API Server 說明區塊 2026-01-21 11:50:11 +08:00
Dockerfile feat: 更新 Dockerfile 以預先下載 PDFMathTranslate 所需模型及字型 2026-01-21 14:31:28 +08:00
Dockerfile.full feat(docker): 重組 Docker 架構 v0.1.6 2026-01-20 12:46:49 +08:00
eslint.config.ts fix(ci): resolve all lint errors for GitHub Actions 2026-01-20 12:16:13 +08:00
knip.json fix(ci): resolve all lint errors for GitHub Actions 2026-01-20 12:16:13 +08:00
LICENSE chore: add devcontainer 2025-10-05 13:57:54 +00:00
mise.toml chore: add comment to dev compose file 2026-01-11 17:46:56 +01:00
package.json release: v0.1.10 2026-01-21 16:07:32 +08:00
postcss.config.js chore: fix lint 2025-10-05 14:19:13 +00:00
prettier.config.js feature: add download all file by file alongside the tar download (#415) 2025-10-07 21:27:31 +02:00
README.md feat: add theme toggle functionality and update localization files 2026-01-21 15:00:34 +08:00
renovate.json chore: add bun to renovate ignore 2025-10-07 20:56:55 +00:00
SECURITY.md chore: fix lint 2025-10-05 14:19:13 +00:00
tsconfig.eslint.json chore: fix typescript-eslint (#439) 2025-11-15 20:15:02 +01:00
tsconfig.json feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00

ConvertX-CN

ConvertX-CN

開箱即用的全功能檔案轉換服務 — 一個 Docker 命令5 分鐘部署完成

Docker Pulls GitHub Release


為什麼選擇 ConvertX-CN

  • 支援 1000+ 格式(影音、圖片、文件、電子書)
  • 已內建 LibreOffice、FFmpeg、Pandoc 等 20+ 轉換器
  • 預載中日韓字型與 OCR 語言包
  • 支援 65 種介面語言

線上示範

想先試用再部署?歡迎使用我們的示範站:

🔗 https://convertx-cn.bioailab.qzz.io

項目 內容
範例帳號 admin@example.com
範例密碼 admin

⚠️ 示範站僅供測試,請勿上傳敏感檔案。資料可能定期清除。


快速啟動Docker Run

1. 建立資料夾

mkdir -p ~/convertx-cn/data && cd ~/convertx-cn

2. 啟動容器

JWT_SECRET=請改成你自己的隨機字串至少32字元

docker run -d \
  --name convertx-cn \
  --restart unless-stopped \
  -p 3000:3000 \
  -v ./data:/app/data \
  -e TZ=Asia/Taipei \
  -e JWT_SECRET=e78a2da4-135f-06a8-fa46-17ef7990f5d1 \
  convertx/convertx-cn:latest

3. 開啟瀏覽器

  http://localhost:3000

首次下載約 4-6 GB請耐心等待。


Docker Compose推薦

1. 建立專案資料夾

Linux / macOS

mkdir -p ~/convertx-cn && cd ~/convertx-cn

Windows PowerShell

mkdir C:\convertx-cn; cd C:\convertx-cn

Windows CMD

mkdir C:\convertx-cn
cd C:\convertx-cn

2. 建立 docker-compose.yml在專案資料夾下

  • 範例內容(請修改 JWT_SECRET=請改成你自己的隨機字串至少32字元
services:
  convertx:
    image: convertx/convertx-cn:latest
    container_name: convertx-cn
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - ./data:/app/data
    environment:
      - TZ=Asia/Taipei
      - JWT_SECRET=e78a2da4-135f-06a8-fa46-17ef7990f5d1

3. 啟動:

docker compose up -d

更多範例 → docs/docker-compose/


重要:資料夾說明

./data 是你主機上的實體資料夾,用於存放上傳檔案、轉換結果與使用者資料。

作業系統 建立指令
Linux / macOS mkdir -p ~/convertx-cn/data
Windows (PS) mkdir C:\convertx-cn\data
Windows (CMD) mkdir C:\convertx-cn\data

若不先建立Docker 會建立匿名 volume導致資料難以存取或備份。


必要參數

參數 說明
./data 主機資料夾,必須先建立
JWT_SECRET 登入驗證金鑰,不設會每次重啟被登出

其他環境變數 → docs/config/environment.md


常見問題

問題 解法
登入後又被踢回登入頁 加上 HTTP_ALLOWED=trueTRUST_PROXY=true
重啟後資料消失 確認 ./data:/app/data 且資料夾存在
重啟後被登出 設定固定的 JWT_SECRET

更多問題 → docs/faq.md


支援格式

轉換器 用途 格式數
FFmpeg 影音 400+
ImageMagick 圖片 200+
LibreOffice 文件 60+
Pandoc 文件 100+
Calibre 電子書 40+
Inkscape 向量圖 20+
MinerU 文件→MD 2
PDFMathTranslate PDF 翻譯 15+

完整列表 → docs/converters.md


Dark Mode

ConvertX-CN 支援亮色與暗色主題。

  • 可手動切換主題(點擊導覽列的太陽/月亮圖示)
  • 偏好設定自動儲存於瀏覽器
  • 預設跟隨系統色彩偏好

MinerU

ConvertX 內建文件轉換引擎。

  • md-t表格以 Markdown 呈現)
  • md-i表格以圖片呈現

輸出格式:.tar不壓縮封裝


PDFMathTranslate 引擎

PDFMathTranslate 是一個內容轉換引擎,用於翻譯 PDF 文件同時保留數學公式與排版。

功能特點

  • 📊 保留數學公式、圖表、目錄與註解
  • 🌐 支援多種目標語言(中文、英文、日文、韓文等)
  • 🤖 支援多種翻譯服務Google、DeepL、OpenAI 等)

輸出格式

所有輸出一律打包為 .tar 檔案,包含:

  • original.pdf — 原始 PDF 文件
  • translated-<lang>.pdf — 翻譯後的 PDF 文件

可用的目標格式

PDFMathTranslate
├─ pdf-en    (翻譯為英文)
├─ pdf-zh    (翻譯為簡體中文)
├─ pdf-zh-TW (翻譯為繁體中文)
├─ pdf-ja    (翻譯為日文)
├─ pdf-ko    (翻譯為韓文)
├─ pdf-de    (翻譯為德文)
├─ pdf-fr    (翻譯為法文)
└─ ...

環境變數

變數 說明 預設值
PDFMATHTRANSLATE_SERVICE 翻譯服務提供商 google
PDFMATHTRANSLATE_MODELS_PATH 模型路徑 /models/pdfmathtranslate

注意事項

  • 所需模型已在 Docker build 階段預先下載
  • 不會在 runtime 隱式下載任何模型
  • 使用 Google 翻譯為預設服務(免費),可透過環境變數切換

檔案傳輸機制

Contents.CN 使用統一的檔案傳輸策略:

檔案大小 傳輸方式 說明
≤ 10MB 直接傳輸 單一請求完成上傳/下載
> 10MB 分段傳輸 使用 5MB chunks 分段傳輸

多檔輸出封裝

  • 唯一允許格式:.tar
  • 禁止使用:.tar.gz.tgz.zip

設計原則

  • 分段傳輸僅存在於傳輸層
  • 轉換引擎只接收完整檔案
  • 前後端使用共用傳輸模組

語言支援

支援 65 種語言,包含繁體中文、簡體中文、英文、日文、韓文等。

語言會根據瀏覽器設定自動偵測,也可透過右上角選單手動切換。

詳細說明 → docs/i18n.md


版本與更新

docker compose down
docker compose pull
docker compose up -d

API Server選用

如需以程式整合方式使用 ConvertX 的轉檔功能,可啟用 API Server

⚠️ API Server 為選用功能,不影響現有 Web UI 的使用。若只使用網頁介面,無需任何額外設定。

功能特點

  • 🔐 JWT 認證 — 安全的 API 存取控制
  • 🌐 REST + GraphQL — 雙協議支援,滿足不同整合需求
  • 🔍 智慧建議 — 轉換失敗時自動推薦替代引擎
  • 🛠️ 20+ 轉換引擎 — 與 Web UI 共用完整轉換器套件

快速啟用

# 同時啟動 Web UI 與 API Server
docker compose --profile api up -d
服務 端口 說明
Web UI 3000 網頁介面
API Server 3001 REST & GraphQL

API 文件

詳細的 API 規格與使用說明:


進階文件

文件 說明
環境變數 所有可用參數
安全性設定 HTTP_ALLOWED、TRUST_PROXY
反向代理 Nginx / Traefik / Caddy
Docker 進階 自訂 Build
FAQ 疑難排解

預覽

ConvertX-CN Preview


License

MIT | 基於 C4illin/ConvertX