package com.heyu.api.baidu.request.common;


import com.heyu.api.baidu.request.BaiduOfdRequest;
import lombok.Data;

/**
 * https://console.bce.baidu.com/support/?_=1740219852952&timestamp=1740288076380#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E9%80%9A%E7%94%A8%E5%9C%BA%E6%99%AFOCR&api=rest%2F2.0%2Focr%2Fv1%2Fdoc_analysis_office&method=post
 * <p>
 * 办公文档识别
 */
@Data
public class BDocAnalysisOfficeRequest extends BaiduOfdRequest {


    /**
     * 识别语言类型，默认为CHN_ENG
     * 可选值包括：
     * -auto_detect：自动检测语言，并识别
     * -CHN_ENG：中英文
     * -ENG：英文
     * - JAP：日语
     * - KOR：韩语
     * - FRE：法语
     * - SPA：西班牙语
     * - POR：葡萄牙语
     * - GER：德语
     * - ITA：意大利语
     * - RUS：俄语
     * - DAN：丹麦语
     * - DUT：荷兰语
     * - MAL：马来语
     * - SWE：瑞典语
     * - IND：印尼语
     * - POL：波兰语
     * - ROM：罗马尼亚语
     * - TUR：土耳其语
     * - GRE：希腊语
     * - HUN：匈牙利语
     * - THA：泰语
     * - VIE：越南语
     * - ARA：阿拉伯语
     * - HIN：印地语
     */
    private String languageType = "auto_detect";


    /**
     * 返回识别结果是按单行结果返回，还是按单字结果返回，默认为big。
     * -big：返回行识别结果
     * -small：返回行识别结果之上还会返回单字结果
     */
    private String resultType = "big";


    /**
     * 是否返回单字符置信度，默认不返回，当 result_type = small 时，参数有效。可选值包括：
     * - true：返回单字符置信度
     * - false：不返回单字符置信度
     */
    private String charProbability = "false";
    /**
     * 是否检测图像朝向，默认不检测，即：false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。其中，
     * -0 ：正向
     * -1：逆时针旋转90度
     * -2：逆时针旋转180度
     * -3：逆时针旋转270度
     */
    private String detectDirection = "false";
    /**
     * true/false	是否返回每行识别结果的置信度。默认为false
     */
    private String lineProbability = "true";


    /**
     * 是否返回每行的四角点坐标。默认为false
     */
    private String dispLinePoly = "false";


    /**
     * 文字类型。
     * 默认：手写印刷混排识别
     * - handwring_only：手写文字识别
     * - handprint_mix： 手写印刷混排识别
     */
    private String wordsType = "handprint_mix";


    /**
     * true/false	是否分析文档版面：包括layout（图、表、标题、段落、目录、印章）；attribute（栏、页眉、页脚、页码、脚注）的分析输出。默认为false
     */
    private String layoutAnalysis = "false";

    /**
     * true/false	是否识别并输出表格相关信息，包括单元格内容。默认为false
     */
    private String recgTables = "false";


    /**
     * true/false	是否识别并输出印章相关信息。默认为false
     */
    private String recogSeal = "false";


    /**
     * true/false	是否检测并识别公式，公式以Latex格式返回。默认为false
     */
    private String recgFormula = "false";


    /**
     * true/false	是否先擦除水印、印章后再识别文档。默认为false
     */
    private String eraseSeal = "false";

    /**
     * disp_underline_analysis	否	string	true/false	是否识别并输出下划线，默认false
     */
    private String dispUnderlineAnalysis = "false";


}
