# document-to-html **Repository Path**: zhengxingne/soffice ## Basic Information - **Project Name**: document-to-html - **Description**: 'pdf' | 'html' | 'doc' | 'docx' | 'odt' | 'odp' | 'pptx' | 'ppt' | 'ods' | 'xlsx'| 'xls' 多文件转html - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-23 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Office文档转HTML服务 (Go版本) 这是一个使用Go和Gin框架构建的Web服务,可以将Office文档(如Word、Excel、PowerPoint等)转换为HTML格式。 ## 功能特点 - 支持多种文档格式:PDF、DOC、DOCX、ODT、ODP、PPTX、PPT、ODS、XLSX、XLS - 文档转换为HTML格式 - 自动处理HTML中的图片,将其移动到静态目录并更新引用 - 强缓存支持,图片缓存1年 - Swagger API文档 - 文件大小限制(200MB) - 自动清理临时文件 ## 依赖要求 - Go 1.21+ - LibreOffice(用于文档转换) ### 安装LibreOffice **macOS:** ```bash brew install --cask libreoffice ``` **Ubuntu/Debian:** ```bash sudo apt-get update sudo apt-get install libreoffice ``` **CentOS/RHEL:** ```bash sudo yum install libreoffice ``` ## 安装和运行 1. 克隆项目: ```bash git clone cd soffice ``` 2. 安装Go依赖: ```bash go mod tidy ``` 3. 生成Swagger文档: ```bash swag init ``` 4. 构建项目: ```bash go build -o main . ``` 5. 运行服务: ```bash ./soffice ``` 或者直接运行: ```bash go run main.go ``` ## API文档 服务启动后,访问以下地址查看API文档: - Swagger UI: http://localhost:18420/swagger/index.html - 根路径会自动重定向到API文档 ## 环境变量 - `BASE_URL`: 服务的基础URL,默认为 `http://localhost:18420` ## Docker部署 构建Docker镜像: ```bash docker build -t document-to-html . docker buildx build --platform linux/amd64 -t document-to-html:20251009 . ``` 运行容器: ```bash docker run -p 18420:18420 -e BASE_URL=http://your-domain.com soffice ``` ## 注意事项 1. 确保系统已安装LibreOffice 2. 上传文件大小限制为50MB 3. 服务会自动清理上传的源文件和临时文件 4. 图片文件会被移动到static目录并设置长期缓存 ## 开发 如果需要修改API文档,编辑main.go中的注释后运行: ```bash swag init ```