自动分段图片上传和比例截取接口实现

segment2.0
linrf 2 years ago
parent 51aa4d6b66
commit d85aa47da4

@ -0,0 +1,35 @@
package com.docus.server.api.ocr;
import com.docus.server.vo.ocr.OcrResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;
/**
* ocr
*
* @author AutoGenerator
* @since 2023-07-15
*/
@Api(value = "OCR接口", tags = "OCR接口")
@FeignClient(url = "${ocr.api-url:http://192.168.16.85:9999}", name = "docus-segmentation.OcrApi")
public interface OcrApi {
/**
* ocr
*/
@ApiOperation("ocr文件上传识别")
@PostMapping("/uploadfile")
@ApiImplicitParams({
@ApiImplicitParam(name = "file", value = "文件", required = true, dataTypeClass = MultipartFile.class)
})
OcrResponse uploadFile(@RequestParam(value = "filetype") String fileType, @RequestPart("file") MultipartFile[] multipartFiles);
}

@ -0,0 +1,15 @@
package com.docus.server.vo.ocr;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "BoxResult", description = "BoxResult")
public class BoxResult {
}

@ -0,0 +1,30 @@
package com.docus.server.vo.ocr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "OcrResponse", description = "OcrResponse")
public class OcrResponse {
@ApiModelProperty(value = "是否成功")
private boolean success;
@ApiModelProperty(value = "响应结果")
private List<OcrVO> datas;
@ApiModelProperty(value = "响应结果")
private Long time;
@ApiModelProperty(value = "响应消息")
private String message;
}

@ -0,0 +1,39 @@
package com.docus.server.vo.ocr;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "OcrVO", description = "OcrVO")
public class OcrVO {
@ApiModelProperty(value = "索引")
private Long index;
@ApiModelProperty(value = "文件类型")
@JsonProperty(value = "file_type")
private String fileType;
@ApiModelProperty(value = "旋转角度")
private String angle;
@ApiModelProperty(value = "下降")
private boolean decline;
@ApiModelProperty(value = "手动阴影")
@JsonProperty(value = "hand_shadow")
private boolean handShadow;
@ApiModelProperty(value = "排序")
private List<SortResult> sort;
}

@ -0,0 +1,21 @@
package com.docus.server.vo.ocr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel(value = "SortResult", description = "SortResult")
public class SortResult {
@ApiModelProperty(value = "排序")
private List<BoxResult> box;
}

@ -54,6 +54,9 @@ file:
uploadFolder: D://docus/source/ uploadFolder: D://docus/source/
uploadCutFolder: D://docus/cut/ uploadCutFolder: D://docus/cut/
ocr:
api-url: 192.168.16.85:9999
docus: docus:
vm-task-cron: 0/30 * * * * ? vm-task-cron: 0/30 * * * * ?
collector-package-download-url: http://192.168.16.110:9113 collector-package-download-url: http://192.168.16.110:9113

Loading…
Cancel
Save