| title | DocxAIO-HFS |
|---|---|
| emoji | 📄 |
| colorFrom | blue |
| colorTo | green |
| sdk | docker |
| app_port | 8000 |
| pinned | false |
基于 FastAPI + Docker 的 DOCX 处理服务,适用于 Hugging Face Spaces。
核心能力由 docx_allinone.py 提供,包括:
- 嵌入 Excel 转 Word 表格 / 图片 / 提取
.xlsx - 文档水印移除(文本/图片/背景)
- A3 横向页面布局
- 表格提取(TXT/XLSX/PDF + 标记文档)
- 图片分离(附图 PDF + 标记文档)
docker build -t docxaio-hfs .
docker run --rm -p 8000:8000 docxaio-hfs启动后访问:
- WebUI:
http://localhost:8000/ - 健康检查:
http://localhost:8000/health
- 新建 Space,选择
DockerSDK。 - 推送本目录文件到 Space 仓库。
- Space 自动构建镜像并启动服务。
PORT:服务端口(默认8000)TEMP_DIR:临时目录根(默认/app/temp)MAX_FILE_SIZE_MB:上传大小上限(默认120)REQUEST_TIMEOUT_SECONDS:单请求超时秒数(默认1200)MAX_CONCURRENT_TASKS:并发处理任务数(默认2)WORKERS:Uvicorn worker 数(必须为1,默认1,否则服务将启动失败以避免并发失控)PROCESS_LOCK_FILE:单进程锁文件路径(默认${TEMP_DIR}/docxaio-hfs/process.lock)
并发说明:当前使用进程内 semaphore 限流,
/health的concurrency字段会返回semaphore_limit、configured_workers、configured_workers_source、effective_max、single_process_lock_file便于排查配置。
若手动启动 uvicorn,请显式使用--workers 1(本项目仅支持单 worker + 本地 semaphore 组合)。 worker 检测优先级为:显式--workers(当前进程/父进程) >WORKERS>WEB_CONCURRENCY;空值环境变量会按“未设置”处理。
上传一个 DOCX 后,服务会执行所选模式,并将所有输出文件打包为一个 ZIP 返回下载,ZIP 中附带 process.log 便于排查。