No description
Find a file
2026-01-20 10:04:13 +08:00
.devcontainer fix(docker): add python3-tinycss2 for Inkscape DXF export (#498) 2026-01-11 16:18:46 +01:00
.github refine fonts and language support 2026-01-19 23:54:04 +08:00
.vscode chore: fix lint 2025-10-05 14:19:13 +00: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 feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00
src feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00
tests/converters feat: add VCF to CSV converter (#497) 2026-01-11 16:38:32 +01: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 feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +08:00
compose.yaml feat: bundle full conversion dependencies into image 2026-01-19 22:00:45 +08:00
Dockerfile refine fonts and language support 2026-01-19 23:54:04 +08:00
eslint.config.ts chore: fix typescript-eslint (#439) 2025-11-15 20:15:02 +01:00
knip.json feat: add delete button in history (#440) 2025-11-16 00:34:49 +01: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 feat(i18n): add multi-language UI support with 5 languages 2026-01-20 10:01:55 +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 Merge branch 'main' of https://github.com/pi-docket/ConvertX-CN 2026-01-20 10:04:13 +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

ConvertX-CN完整版

Docker Docker Pulls GitHub Release

🎉 這是完整版 ConvertX-CN image已內建所有轉換依賴

使用者 不需要自己寫 Dockerfile,直接 docker rundocker compose up 即可使用。

基於 C4illin/ConvertX 的中文優化版本。目前還在實作請等到1月底發布


完整版特色

此 image 已經內建以下所有依賴,開箱即用:

類別 內建內容
文件轉換 LibreOffice (headless)、Pandoc
LaTeX TexLive Full完整版支援所有 LaTeX 需求)
OCR 識別 Tesseract OCR + 繁體中文、簡體中文、日文、韓文、英文、德文語言包
CJK 字型 Noto CJK中日韓、Noto Emoji、微軟核心字型、標楷體
影音轉換 FFmpeg、ImageMagick、GraphicsMagick
向量圖形 Inkscape、Potrace、VTracer、resvg
電子書 Calibre
其他 Ghostscript、MuPDF、Poppler、libheif、libjxl 等

🚀 快速開始

方法一Docker Run

docker run -d \
  --name convertx-cn \
  -p 3000:3000 \
  -v ./data:/app/data \
  -e TZ=Asia/Taipei \
  convertx/convertx-cn:latest

方法二Docker Compose推薦

建立 docker-compose.yml

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=請更換為一個長且隨機的字串
      - ACCOUNT_REGISTRATION=false
      - HTTP_ALLOWED=false
      - AUTO_DELETE_EVERY_N_HOURS=24

啟動服務:

docker compose up -d

然後瀏覽 http://localhost:3000 並建立第一個帳號。


📦 Docker Image

Image 說明
convertx/convertx-cn:latest 最新穩定版
convertx/convertx-cn:v0.1.1 指定版本

⚠️ 由於內建完整依賴image 大小約 4-6 GB首次下載需要較長時間。


🔧 支援的轉換器

Converter Use case Converts from Converts to
Inkscape Vector images 7 17
libjxl JPEG XL 11 11
resvg SVG 1 1
Vips Images 45 23
libheif HEIF 2 4
XeLaTeX LaTeX 1 1
Calibre E-books 26 19
LibreOffice Documents 41 22
Dasel Data Files 5 4
Pandoc Documents 43 65
msgconvert Outlook 1 1
VCF to CSV Contacts 1 1
dvisvgm Vector images 4 2
ImageMagick Images 245 183
GraphicsMagick Images 167 130
Assimp 3D Assets 77 23
FFmpeg Video ~472 ~199
Potrace Raster to vector 4 11
VTracer Raster to vector 8 1
Markitdown Documents 6 1

缺少什麼轉換器?歡迎開 issue 或 pull request


⚙️ 環境變數

所有環境變數皆為選填,建議設定 JWT_SECRET

變數名稱 預設值 說明
JWT_SECRET randomUUID() 用於簽署 JWT 的密鑰字串
ACCOUNT_REGISTRATION false 是否允許註冊新帳號
HTTP_ALLOWED false 是否允許 HTTP 連線(僅本地使用)
ALLOW_UNAUTHENTICATED false 是否允許未登入使用
AUTO_DELETE_EVERY_N_HOURS 24 自動刪除超過 N 小時的檔案0 = 停用)
WEBROOT 子路徑部署,例如 /convertx
FFMPEG_ARGS FFmpeg 輸入參數,例如 -hwaccel vaapi
FFMPEG_OUTPUT_ARGS FFmpeg 輸出參數,例如 -preset veryfast
HIDE_HISTORY false 隱藏歷史紀錄頁面
LANGUAGE en 日期格式語言BCP 47 格式)
TZ UTC 時區設定
MAX_CONVERT_PROCESS 0 最大同時轉換數0 = 無限制)

🌍 多語言支援i18n

ConvertX-CN 支援以下語言:

語言代碼 語言名稱
en English預設
zh-TW 繁體中文
zh-CN 简体中文
ja 日本語
ko 한국어

語言切換

  • 在網站右上角的導航列可看到語言選擇器(地球圖示)
  • 點擊後可選擇偏好語言
  • 語言偏好會自動保存到 Cookie 中
  • 首次訪問時會自動偵測瀏覽器語言設定

新增語言

如要添加新語言,請:

  1. src/locales/ 目錄新增語言檔案(例如 fr.json
  2. src/i18n/index.ts 中:
    • 導入新語言檔案
    • supportedLocales 陣列中添加語言配置
    • translations 物件中註冊翻譯

歡迎提交 Pull Request 來新增更多語言!


📖 教學文章

Note

以下教學由社群撰寫,可能有過時或錯誤之處。


📸 Screenshots

ConvertX Preview

🛠️ 開發

  1. 安裝 Bun 和 Git
  2. Clone 這個 repository
  3. bun install
  4. bun run dev

歡迎 Pull Request請使用 conventional commits 格式。


🙏 致謝

本專案基於 C4illin/ConvertX 開發。

Image with all contributors

📜 License

MIT License