Commit graph

141 commits

Author SHA1 Message Date
Your Name
f2c5997847 fix: use huggingface_hub for ONNX download and add CACHE_BUST
- Use huggingface_hub.hf_hub_download() instead of curl (supports xet storage)
- Add CACHE_BUST ARG to force fresh downloads after cache delete
- Add font file size validation after download
- Re-enable registry cache (buildcache tag deleted manually)
- ARM64 graceful degradation for MinerU
2026-01-24 23:46:44 +08:00
Your Name
2d28665714 fix: 修復 ONNX 模型下載(使用 huggingface_hub 支援 xet 格式)
- 使用 huggingface_hub.hf_hub_download 替代 curl 下載 ONNX 模型
- 增加字型下載的超時和重試設定
- ARM64 架構優雅跳過 MinerU 模型下載
- 驗證邏輯對 ARM64 更寬容,僅 amd64 強制驗證
- 確保 linux/amd64 開箱即用,無運行時模型下載
2026-01-24 23:25:34 +08:00
Your Name
d3aa8e5fee fix: 修正 Dockerfile 中的輸出格式,統一縮排以提高可讀性 2026-01-24 21:49:29 +08:00
Your Name
cc8df3c91d fix: shell syntax for strict model validation in Dockerfile
- Change 'set -eux' to 'set -eu' (remove -x for cleaner logs)
- Fix if statement syntax for set -e compatibility
- Add proper && chaining inside if blocks
- Add fallback echo values for numeric comparisons
2026-01-24 21:42:46 +08:00
Your Name
27ffdee6f4 fix: Docker image size and add download retry mechanism
## Bug Fixes
- Fix standard image size issue (was ~1.5GB, should be 8-12GB)
- Add strict model validation during build
- Add retry mechanism (--retry 3 --retry-delay 5) to all curl downloads

## Documentation
- Clarify version terminology: Standard (一般版), Extended (擴充版), Lite (Lite版)
- Remove duplicate docs/環境變數總覽.md
- Improve environment variable documentation structure
- Add quick reference tables for environment variables

## Build
- Explicitly specify 'file: Dockerfile' in release.yml
- Use 'buildcache-full' cache key to prevent cross-pollution
2026-01-24 21:31:11 +08:00
Your Name
944fe18b75 Add unit tests for PDF Packager converter functionality
- Implement tests for converter properties, ensuring correct input and output formats.
- Add tests for chip parsing, covering various image, pdf_image, and pdfa chip formats.
- Include tests for the isArchiveOutput and getOutputFileName functions.
- Mock execFile for testing the convert function, verifying command execution and output file creation.
- Ensure all chips are parseable and validate the completeness of chip categories.
2026-01-24 14:39:22 +08:00
Your Name
cb0ea8b578 fix: add xauth package for xvfb-run support 2026-01-24 12:04:36 +08:00
Your Name
ef3bf66cce feat: 新增 deark 引擎支援解包/解析多種格式
- 新增 deark 轉換器 (src/converters/deark.ts)
- 支援 100+ 種輸入格式(壓縮檔、舊圖片、字型、可執行檔資源等)
- 輸出為 .tar 封裝
- Dockerfile 添加 deark 從源碼編譯安裝
- 更新 main.ts 註冊新引擎
- 添加單元測試 (tests/converters/deark.test.ts)
- 更新文件 (docs/功能說明/轉換器.md)
- CI/CD 添加 deark 版本驗證
2026-01-23 23:33:26 +08:00
Your Name
a06df23b1d feat: 新增 OCRmyPDF 轉換引擎 (v0.1.14)
## 新功能
- OCRmyPDF 轉換引擎:將掃描版 PDF 轉換為可搜尋 PDF
  - 支援 7 種語言:en, zh-TW, zh, ja, ko, de, fr
  - 與 PDFMathTranslate 風格一致的 UI 格式 (pdf-<lang>)
  - 自動偵測頁面方向並旋轉
  - 自動校正傾斜
  - 跳過已有文字層的頁面
  - 詳細的 5 階段處理進度輸出

## 建置
- Dockerfile:安裝 ocrmypdf 與 Tesseract OCR 語言包

## 文件
- 更新 OCR 功能文件
- 文件目錄結構改為中文名稱

## 測試
- 修復 BabelDOC 和 PDFMathTranslate 測試的 OCR mock
- 所有 345 個測試通過
2026-01-23 16:28:33 +08:00
Your Name
3457311f14 refactor: 整理環境變數
- 移除重複的環境變數定義
- 統一放置在 Dockerfile 結尾
- 分類整理:Locale、Headless、翻譯服務、離線模式、應用程式
- 添加清晰的註解說明每個變數用途
2026-01-23 12:04:28 +08:00
Your Name
e084d68b95 fix: 增強 headless 環境支援
- 添加 QT_QPA_PLATFORM=offscreen 環境變數
- 添加 DISPLAY=:99 環境變數
- Calibre 轉換器使用 xvfb-run 包裝
- 添加 CALIBRE_USE_SYSTEM_THEME=0

確保 Qt/GTK 應用在無 display 環境下運作
2026-01-23 11:59:47 +08:00
Your Name
0d0c0025fb fix: Inkscape GTK 錯誤 - 使用 xvfb-run 包裝
- 安裝 xvfb 到 Docker image
- 使用 xvfb-run -a 包裝 inkscape 命令
- 設定虛擬螢幕解析度 1024x768x24
- 修復 PNG 轉 SVG 等需要 GTK 的操作

Fixes: Gtk-ERROR Can't create GtkStyleContext without display
2026-01-23 11:57:26 +08:00
Your Name
9fc7217df1 fix: 完善 runtime 離線支援
- 使用 babeldoc --warmup 下載完整資源(模型、字型、cmap、tiktoken)
- 修正驗證邏輯,指向正確的 BabelDOC cache 路徑
- 移除舊的 PDFMATHTRANSLATE_MODELS_PATH 環境變數
- 更新 pdfmathtranslate.ts 使用正確的模型路徑
- 移除手動指定 --onnx 參數(pdf2zh 內部自動處理)

確保所有組件 Runtime 不需要下載任何資源
2026-01-23 11:55:02 +08:00
Your Name
cb8ee290bb fix: 修正 PDFMathTranslate 模型路徑,確保預下載到 babeldoc cache 目錄 2026-01-23 11:48:02 +08:00
Your Name
63f0b57466 chore(release): bump version to 0.1.12 2026-01-23 01:00:18 +08:00
Your Name
26304a295e fix(inkscape): use headless-safe export syntax (--export-type/--export-filename)
Breaking change from Inkscape 1.0+:
- Old syntax: inkscape input.png -o output.svg (triggers GTK init)
- New syntax: inkscape input.png --export-type=svg --export-filename=output.svg

This is the correct headless-safe approach, no need for xvfb.

Ref: https://inkscape.org/doc/inkscape-man.html
2026-01-23 00:01:24 +08:00
Your Name
b5992a84e0 fix(inkscape): use xvfb-run for headless execution
- Inkscape requires X11 display connection, causing 'GtkStyleContext without display' error
- Solution: use xvfb-run to create virtual X11 display
- Fallback: try direct inkscape if xvfb-run fails
- Add xvfb package to Dockerfile
- Update inkscape tests for new xvfb-run behavior

Fixes: Gtk-ERROR: Can't create a GtkStyleContext without a display connection
2026-01-22 23:56:47 +08:00
Your Name
a9867ee97c feat: add Dockerfile for ConvertX-CN v0.1.11 with pre-downloaded models and offline-first design
- Introduced a new Dockerfile that builds the ConvertX-CN image with all necessary dependencies and models pre-downloaded.
- Implemented multi-stage builds to optimize image size and build time.
- Added a script for verifying the integrity of pre-downloaded models and dependencies.
- Ensured the image operates in an offline-first manner, eliminating runtime dependencies on external networks.
2026-01-22 22:17:29 +08:00
Your Name
fd674fac9c fix: 調整 BabelDOC 資源下載邏輯,簡化重試流程並改善錯誤提示 2026-01-22 19:44:26 +08:00
Your Name
e3406a8d04 fix: BabelDOC 改用 generate-offline-assets 方式預下載資源
- 使用 --generate-offline-assets 生成離線包,比 warmup 更穩定
- 添加 10 分鐘超時控制避免無限等待
- 離線包生成後使用 --restore-offline-assets 恢復到快取
- 如果離線包方式失敗,fallback 到 warmup 模式
- 最多重試 3 次,每次失敗後等待 30 秒
- 即使全部失敗,BabelDOC 仍可在 runtime 按需下載
2026-01-22 19:35:04 +08:00
Your Name
37b56aed56 fix: 優化 Dockerfile 中模型下載與快取清理邏輯,減少層差異與空間使用 2026-01-22 19:20:56 +08:00
Your Name
11dc51890c fix: 更新 MinerU 模型下載邏輯,增加設定檔驗證與錯誤處理 2026-01-22 19:10:54 +08:00
Your Name
4ca92e3a22 release: v0.1.11 - BabelDOC 翻譯引擎與穩定性改進
## 新增功能

- BabelDOC PDF 翻譯引擎:支援 PDF/Markdown/HTML 輸出,15 種目標語言

- Dockerfile 更新:pipx 安裝 babeldoc,warmup 預載資源

## 修復

- 修正 user.tsx XSS 安全警告(label 包裹 safe span)

## 品質保證

- 173 個測試全數通過

- TypeScript / ESLint / Prettier / Knip 檢查通過
2026-01-22 17:41:12 +08:00
Your Name
6d4ed58637 fix: 更新 PDFMathTranslate 模型下載方式,使用 snapshot_download 避免硬編碼檔名 2026-01-22 16:27:54 +08:00
Your Name
a5dccccd86 fix: 更新 Dockerfile,修正 huggingface_hub 安裝指令以符合 Debian bookworm 的 PEP 668 要求 2026-01-22 12:33:01 +08:00
Your Name
0f60f3ae14 feat: 更新 Dockerfile 版本,新增模型驗證腳本以確保預下載模型完整性 2026-01-22 10:38:11 +08:00
Your Name
ffb72c531f chore: update Bun version to 1.3.6 in Dockerfiles 2026-01-22 00:58:36 +08:00
Your Name
cac29bfff1 fix: 修正 Dockerfile 中 dasel 和 resvg 安裝步驟的縮排問題 2026-01-21 21:10:33 +08:00
Your Name
947d189b6d fix: 修復 resvg ARM64 無預編譯版本問題
- 更新 resvg repo URL 從 RazrFalcon 到 linebender
- ARM64 架構跳過 resvg 安裝(官方無預編譯版本)
- x86_64 正常安裝 resvg v0.44.0
- ARM64 可使用 ImageMagick/Inkscape 作為 SVG 轉換替代方案
2026-01-21 21:04:40 +08:00
Your Name
4e07cd57aa fix: 修復 bookworm 缺少 dasel 和 resvg 套件的問題
- 從 apt-get install 移除 dasel 和 resvg
- 改用 GitHub releases 下載二進位檔案
- dasel v2.8.1 支援 amd64/arm64
- resvg v0.44.0 支援 amd64/arm64
2026-01-21 20:56:39 +08:00
Your Name
4d2a690bb9 fix: 更新 Dockerfile 版本至 v0.1.10,修正基礎映像為 debian:bookworm,並新增 APT 重試機制以改善 Multi-Arch Build 的穩定性 2026-01-21 20:43:54 +08:00
Your Name
e651813034 fix: 優化 Dockerfile 分段安裝,改善 Multi-Arch Build 穩定性 2026-01-21 18:47:13 +08:00
Your Name
1f850dd926 feat: 更新 Dockerfile 以預先下載 PDFMathTranslate 所需模型及字型 2026-01-21 14:31:28 +08:00
Your Name
d943771f36 feat: add PDFMathTranslate converter for PDF translation with mathematical content
- Introduced PDFMathTranslate converter to handle PDF translations while preserving mathematical formulas.
- Updated Dockerfile to include necessary dependencies and pre-download models during build.
- Enhanced README.md to document the new converter and its features.
- Added tests for PDFMathTranslate to ensure correct functionality and error handling.
2026-01-21 14:31:19 +08:00
Your Name
f7ebc084ea refactor: update MinerU to use tar.gz and mineru CLI
- Change archive format from zip to tar.gz
- Use 'mineru' CLI command instead of 'magic-pdf'
- Install mineru[all] via pipx in Dockerfile
- Remove zip dependency from Dockerfile
- Update normalizeFiletype to output tar.gz extension
- Update all tests for tar.gz output format
- Simplify README MinerU section
2026-01-21 12:20:40 +08:00
Your Name
e5ca364563 feat: integrate MinerU document to Markdown converter
- Add MinerU converter engine (src/converters/mineru.ts)
- Support md-t (table as Markdown) and md-i (table as image) output formats
- Input formats: pdf, ppt, pptx, xls, xlsx, doc, docx
- Output as ZIP archive containing Markdown and images
- Update Dockerfile to install magic-pdf via pipx
- Add zip utility for archive creation
- Update normalizeFiletype to map md-t/md-i to zip extension
- Add comprehensive tests for MinerU converter
- Update README with MinerU documentation
2026-01-21 12:10:49 +08:00
Your Name
a45a049fe2 feat: v0.1.9 - 全頁拖曳上傳 + i18n 修正 + 文件更新
 Features:
- 全頁拖曳上傳:檔案可拖曳到頁面任何位置上傳
- 原本的上傳框視覺效果保持不變

🌍 i18n:
- 刪除任務的 confirm/alert 訊息改用 i18n
- 隨語言切換即時更新顯示內容

📚 Documentation:
- README 新增「如何更新 ConvertX-CN 版本」章節
- 新增 deployment.md(Reverse Proxy、HTTPS)
- 新增 Docker Compose 範例分層
- 更新 environment-variables.md
2026-01-20 15:09:30 +08:00
Your Name
a0eccf0437 fix(libreoffice): PDF 轉 DOCX 修正 (v0.1.8)
- 新增 PDF 匯入管線:PDF → DOCX/ODT/RTF/TXT/HTML 使用 --infilter=writer_pdf_import
- 新增輸出檔案存在性驗證,避免 ENOENT 錯誤
- 改善錯誤訊息:密碼保護、檔案損壞、無匯出過濾器等情境
- 重寫測試套件:19 個測試全數通過
2026-01-20 14:38:17 +08:00
Your Name
03be03bbc2 fix(auth): 修復遠端部署登入失敗問題 v0.1.7
## Bug Fixes
- Cookie sameSite 從 strict 改為 lax(修復遠端存取問題)
- 新增 Cookie path 設定確保覆蓋整個應用
- 新增 TRUST_PROXY 環境變數支援 reverse proxy

## Features
- Dockerfile 新增 texlive-lang-arabic/other(阿拉伯/希伯來語)
- Dockerfile 新增 python3-opencv(電腦視覺)
- Dockerfile 新增 libavcodec-extra(額外編解碼器)
- Locale 預設改為 zh_TW.UTF-8
- Pandoc PDF 引擎改用 pdflatex

## Docs
- compose.yaml 新增 TRUST_PROXY 說明
- 新增遠端部署注意事項
2026-01-20 14:11:11 +08:00
Your Name
f675a68d87 feat(docker): 重組 Docker 架構 v0.1.6
- 優化 Dockerfile 註解與標頭
- 新增 Dockerfile.full 擴充範本 (FROM convertx-cn:latest)
  - 依地區分類 65+ OCR 語言
  - 額外字型/TexLive 套件選項
  - 每個區塊含預估大小說明
- 更新 docker.md 雙 Image 說明文件
- 版本更新至 0.1.6
2026-01-20 12:46:49 +08:00
Your Name
8089fa0853 feat(v0.1.5): Always-on Registration + Scrollable Language Selector
## Registration (Breaking Change)
- Remove ACCOUNT_REGISTRATION restriction on Register page
- Login page always shows Register link
- Registration behavior now matches upstream v0.17.0

## UI Improvements
- Language selector dropdown: add max-height (320px) + overflow-y: auto
- Prevents UI overflow when 65+ languages are displayed

## Documentation
- New docs/faq.md with common questions
- Simplified README quick start (remove ACCOUNT_REGISTRATION from examples)
- Updated getting-started.md with folder initialization guide

## Build Verification
- bun run build: PASSED
- Docker build: PASSED
- TypeScript: PASSED
2026-01-20 12:02:50 +08:00
Your Name
e792dfedf1 refine fonts and language support 2026-01-19 23:54:04 +08:00
Your Name
6933f5cc75 fix: remove Microsoft core fonts to unblock CI build 2026-01-19 22:05:33 +08:00
Your Name
a9b65248b8 feat: bundle full conversion dependencies into image 2026-01-19 22:00:45 +08:00
Mehul Anshumali
60f6f5b77f
fix(docker): add python3-tinycss2 for Inkscape DXF export (#498)
Co-authored-by: Mehul Anshumali <mehul.a@phonepe.com>
2026-01-11 16:18:46 +01:00
Sahil sharma
f2a92aaf39
feat: markitdown implementation (#486)
* feat: markitdown implementation

* fix: code review and docker file:

* fix: add markitdown PATH in container

* fix: feedback changes

* en: readme changed
2025-12-27 12:59:17 +05:30
C4illin
d984891791 chore: add devcontainer 2025-10-05 13:57:54 +00:00
C4illin
8a888ccda6 fix: missing public files
issue: #314
2025-09-28 16:16:38 +02:00
Ben Burwood
5d74ec59c1 Install Dasel in Dockerfile 2025-09-08 23:52:13 +01:00
foo
da982dc831 Adding latexmk to dockerfile install packages, convertx errors otherwise complaining about latexmk not found in path when converting latex files with xetex 2025-08-25 15:32:05 +10:00