# ginkgo-watermark **Repository Path**: lambert-ginkgo/ginkgo-watermark ## Basic Information - **Project Name**: ginkgo-watermark - **Description**: No description available - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-31 - **Last Updated**: 2025-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ginkgo Watermark Ginkgo Watermark 是一个用于为多种文件类型添加水印的Java库。它支持在文档、电子表格、PDF、图像和视频中添加文本或图像水印,并提供灵活的配置选项。 ## 特性 - 支持多种文件格式:Word、Excel、PDF、图片和视频 - 可配置水印样式:文本、图像、透明度、角度等 - 支持水印位置自定义 - 提供Spring Boot自动配置支持 ## 支持的文件类型 - Word (.docx) - Excel (.xls, .xlsx) - PDF (.pdf) - 图像 (.jpg, .png 等常见格式) - 视频 (.mp4, .mov 等常见格式) ## 核心组件 - **WatermarkService**:核心服务类,提供文件水印处理接口 - **WatermarkConfig**:水印配置类,定义水印样式和位置 - **WatermarkProcessor**:水印处理器接口,各文件类型实现该接口 - **WatermarkStrategyFactory**:策略工厂,管理不同文件类型的水印处理策略 ## 使用示例 ```java @Autowired private WatermarkService watermarkService; public void addWatermark() throws Exception { // 创建水印配置 WatermarkConfig config = new WatermarkConfig(); config.setText("机密文档"); config.setFont(new Font("宋体", Font.BOLD, 36)); config.setColor(Color.RED); config.setOpacity(0.5f); config.setAngle(45.0); // 处理文件 watermarkService.processFile(new File("test.docx"), config, null); } ``` ## 配置选项 在application.yml中配置水印相关参数: ```yaml watermark: enabled-processors: [WORD, EXCEL, PDF, IMAGE, VIDEO] temp-dir: /path/to/temp/dir ``` ## 许可证 本项目采用Apache 2.0许可证。详情请查看LICENSE文件。