public interface DocMaker
限定符和类型 | 字段和说明 |
---|---|
static String |
AREA_DEFINE_END
表格单元格区域定义结束符,样例:[4-4,1-1],前一段表示行起始到行结束,后一段表示列起始到列结束
图像区域定义结束符,样例:[6,0,6,2,10,30,43,-30|6,2,6,5,50,30,17,-30|6,5,6,7,25,30,50,-30]
|
static String |
AREA_DEFINE_START
表格单元格区域定义起始符,样例:[4-4,1-1],前一段表示行起始到行结束,后一段表示列起始到列结束
图像区域定义起始符,样例:[6,0,6,2,10,30,43,-30|6,2,6,5,50,30,17,-30|6,5,6,7,25,30,50,-30]
|
static String |
AT |
static int |
BOOL_DATA_TYPE_DEFAULT_INDEX
复选框类型数据规则默认值定义元素项位置:A|名称|bool|默认值|依赖项?
|
static String |
DATA_TYPE_BOOL
布尔数据类型
|
static String |
DATA_TYPE_DATE
日期数据类型
|
static String |
DATA_TYPE_DEC
小数数据类型
|
static String |
DATA_TYPE_IMAGE
图片数据类型
|
static String |
DATA_TYPE_INT
整数数据类型
|
static String |
DATA_TYPE_SELECT
多选项数据类型
|
static String |
DATA_TYPE_STR
字符串短文本数据类型
|
static String |
DATA_TYPE_TABLE
表格数据类型
|
static String |
DATA_TYPE_TEXT
字符串长文本数据类型
|
static int |
DATE_DATA_TYPE_DEFAULT_INDEX
日期类型数据规则默认值定义元素项位置:A|名称|date|日期格式|最小值|最大值|默认值|依赖项?
|
static int |
DATE_DATA_TYPE_FORMAT_INDEX
日期类型数据规则格式定义元素项位置:A|名称|date|日期格式|最小值|最大值|默认值|依赖项?
|
static int |
DATE_DATA_TYPE_MAX_INDEX
日期类型数据规则最大值定义元素项位置:A|名称|date|日期格式|最小值|最大值|默认值|依赖项?
|
static int |
DATE_DATA_TYPE_MIN_INDEX
日期类型数据规则最小值定义元素项位置:A|名称|date|日期格式|最小值|最大值|默认值|依赖项?
|
static int |
DEC_DATA_TYPE_DEFAULT_INDEX
小数类型数据规则默认值定义元素项位置:A|名称|dec|最小值|最大值|精度|默认值|依赖项?
|
static int |
DEC_DATA_TYPE_MAX_INDEX
小数类型数据规则最大值定义元素项位置:A|名称|dec|最小值|最大值|精度|默认值|依赖项?
|
static int |
DEC_DATA_TYPE_MIN_INDEX
小数类型数据规则最小值定义元素项位置:A|名称|dec|最小值|最大值|精度|默认值|依赖项?
|
static int |
DEC_DATA_TYPE_PRECISION_INDEX
小数类型数据规则精度定义元素项位置:A|名称|dec|最小值|最大值|精度|默认值|依赖项?
|
static String |
DEFAULT_VALUE
数据项被规则效验失败后的默认值
|
static String[] |
DRS_FILE_SUFFIX
新一代文档后缀
|
static String |
FORMAT_RULE_BASIC
格式规则中的基本规则段
|
static String |
FORMAT_RULE_FILE
格式规则
|
static String |
IMAGE_BMP
BMP文件后缀
|
static int |
IMAGE_CELL_AREA_DEFINE_NUM
图片类型数据规则单幅图像区域信息坐标定义数量,样例:
[leftTopRow,leftTopCol,rightBottomRow,rightBottomCol,left,top,right,bottom|leftTopRow,leftTopCol,rightBottomRow,rightBottomCol,left,top,right,bottom]
|
static String |
IMAGE_CELL_AREA_DEFINE_SEPARATE
图片类型数据规则单幅图像区域信息坐标定义分隔符,样例:
[leftTopRow,leftTopCol,rightBottomRow,rightBottomCol,left,top,right,bottom|leftTopRow,leftTopCol,rightBottomRow,rightBottomCol,left,top,right,bottom]
|
static int |
IMAGE_DATA_TYPE_HEIGHT_INDEX
图片类型数据规则最大高定义元素项位置:A|名称|image|限制数量|宽|高|依赖项?
|
static int |
IMAGE_DATA_TYPE_WIDTH_INDEX
图片类型数据规则最大宽定义元素项位置:A|名称|image|限制数量|宽|高|依赖项?
|
static String |
IMAGE_JPEG
JPEG文件后缀
|
static String |
IMAGE_JPG
JPG文件后缀
|
static String |
IMAGE_PNG
PNG文件后缀
|
static int |
INT_DATA_TYPE_DEFAULT_INDEX
整数类型数据规则默认值定义元素项位置:A|名称|int|最小值|最大值|默认值|依赖项?
|
static int |
INT_DATA_TYPE_MAX_INDEX
整数类型数据规则最大值定义元素项位置:A|名称|int|最小值|最大值|默认值|依赖项?
|
static int |
INT_DATA_TYPE_MIN_INDEX
整数类型数据规则最小值定义元素项位置:A|名称|int|最小值|最大值|默认值|依赖项?
|
static String |
KEYWORD_PAGE_NUMBER
页码关键词
|
static int |
RULE_DEFINE_MIN_NUM
数据项规则描述的最少定义元素项数量,数据项标识|数据项名称|数据类型
|
static String |
RULE_ELEMENT_SEPARATE
数据项规则描述中各个定义元素项之间的分隔符
|
static String |
RULE_ELEMENT_SEPARATE_REGEX
数据项规则描述中各个定义元素项之间的分隔符对应的正则表达式
|
static int |
SELECT_DATA_TYPE_DEFAULT_INDEX
下拉选项框类型数据规则默认值定义元素项位置:A|名称|select|可选项|默认值|依赖项?
|
static String |
SELECT_DATA_TYPE_ITEM_TEXT_VALUE_SEPARATE
下拉选项框类型数据规则可选项定义显示值与文本值分隔符,可选项格式:星期一-星期一,星期二-星期二,星期三-星期三,星期四-星期四,星期五-星期五,星期六-星期六,星期日-星期日
|
static int |
SELECT_DATA_TYPE_ITEMS_INDEX
下拉选项框类型数据规则可选项定义元素项位置:A|名称|select|可选项|默认值|依赖项?
|
static String |
SELECT_DATA_TYPE_ITEMS_SEPARATE
下拉选项框类型数据规则可选项定义分隔符,可选项格式:星期一-星期一,星期二-星期二,星期三-星期三,星期四-星期四,星期五-星期五,星期六-星期六,星期日-星期日
|
static int |
STR_DATA_TYPE_DEFAULT_INDEX
文本类型数据规则默认值定义元素项位置:A|名称|str|数据长度限制|过滤字符|限制字符|默认值|依赖项?
|
static int |
STR_DATA_TYPE_FILTER_INDEX
文本类型数据规则过滤字符定义元素项位置:A|名称|str|数据长度限制|过滤字符|限制字符|默认值|依赖项?
|
static int |
STR_DATA_TYPE_LENGTH_INDEX
文本类型数据规则数据长度限制定义元素项位置:A|名称|str|数据长度限制|过滤字符|限制字符|默认值|依赖项?
|
static int |
STR_DATA_TYPE_LIMIT_INDEX
文本类型数据规则限制字符定义元素项位置:A|名称|str|数据长度限制|过滤字符|限制字符|默认值|依赖项?
|
static int |
TABLE_CELL_AREA_DEFINE_PAIR_NUM
表格单元格区域定义对数量,样例:[4-4,1-1],前一段表示行起始到行结束,后一段表示列起始到列结束
|
static String |
TABLE_CELL_AREA_DEFINE_SEPARATE
表格单元格区域定义分隔符,样例:[4-4,1-1],前一段表示行起始到行结束,后一段表示列起始到列结束
|
static String |
TABLE_CELL_AREA_START_END_SEPARATE
表格单元格区域行或者列起始索引与结束索引之间的分隔符,样例:[4-4,1-1],前一段表示行起始到行结束,后一段表示列起始到列结束
|
static String |
TABLE_CELL_SPECIAL_MERGE_AREA_DEFINE_MARK
表格单元格区域跟随表格行数执行跨行合并的区域定义:*=[3,0]。
|
static int |
TABLE_DATA_TYPE_PAGE_MAX_ROW_INDEX
表格类型数据规则最大行数定义元素项位置:A|名称|table|表格索引值|最少行数|最大行数|依赖项?
|
static int |
TABLE_DATA_TYPE_PAGE_MIN_ROW_INDEX
表格类型数据规则最少行数定义元素项位置:A|名称|table|表格索引值|最少行数|最大行数|依赖项?
|
static int |
TABLE_DATA_TYPE_TABLE_INDEX_INDEX
表格类型数据规则最大行数定义元素项位置:A|名称|table|表格索引值|最少行数|最大行数|依赖项?
|
static String |
TAG_END
标签结束符
|
static String |
TAG_START
标签起始符
|
static String |
TEMPLATE_FILE_PREFIX
模板文件的前缀
|
static String |
TIP_START
数据项规则描述的数据语义定义元素项起始符,样例:数据项顺序=数据项标识|数据项名称|数据类型|基本约束…?
|
限定符和类型 | 方法和说明 |
---|---|
List<String> |
makeDoc(File templateFile,
INIData formatRule,
String jsonData,
File desDir,
String desFilePrefix,
String imageDir)
根据文档模板+制作规则,接受外部传入的文档数据制作对应文档,并将文档放到指定目录
|
List<String> |
makeDoc(File drsFile,
String jsonData,
File desDir,
String desFilePrefix,
String imageDir)
该方法不保证并发正确性,建议调用者采用desDir+desFilePrefix进行隔离,即每次调用传入不同路径,保证生成的文档不会被覆盖
接受外部传入的文档数据,填充进drs文档,并根据drs文档组成结构中模板对应的文档类型,制作对应包含数据的文档,并将文档放到指定目录。
|
static final String[] DRS_FILE_SUFFIX
static final String RULE_ELEMENT_SEPARATE_REGEX
static final int RULE_DEFINE_MIN_NUM
static final String TIP_START
static final String AREA_DEFINE_START
static final String AREA_DEFINE_END
static final String TABLE_CELL_AREA_DEFINE_SEPARATE
static final String TABLE_CELL_AREA_START_END_SEPARATE
static final int TABLE_CELL_AREA_DEFINE_PAIR_NUM
static final String TABLE_CELL_SPECIAL_MERGE_AREA_DEFINE_MARK
static final int TABLE_DATA_TYPE_TABLE_INDEX_INDEX
static final int TABLE_DATA_TYPE_PAGE_MIN_ROW_INDEX
static final int TABLE_DATA_TYPE_PAGE_MAX_ROW_INDEX
static final int IMAGE_DATA_TYPE_WIDTH_INDEX
static final int IMAGE_DATA_TYPE_HEIGHT_INDEX
static final String IMAGE_CELL_AREA_DEFINE_SEPARATE
static final int IMAGE_CELL_AREA_DEFINE_NUM
static final int SELECT_DATA_TYPE_DEFAULT_INDEX
static final int SELECT_DATA_TYPE_ITEMS_INDEX
static final String SELECT_DATA_TYPE_ITEMS_SEPARATE
static final String SELECT_DATA_TYPE_ITEM_TEXT_VALUE_SEPARATE
static final int DATE_DATA_TYPE_DEFAULT_INDEX
static final int DATE_DATA_TYPE_FORMAT_INDEX
static final int DATE_DATA_TYPE_MIN_INDEX
static final int DATE_DATA_TYPE_MAX_INDEX
static final int BOOL_DATA_TYPE_DEFAULT_INDEX
static final int DEC_DATA_TYPE_DEFAULT_INDEX
static final int DEC_DATA_TYPE_MIN_INDEX
static final int DEC_DATA_TYPE_MAX_INDEX
static final int DEC_DATA_TYPE_PRECISION_INDEX
static final int INT_DATA_TYPE_DEFAULT_INDEX
static final int INT_DATA_TYPE_MIN_INDEX
static final int INT_DATA_TYPE_MAX_INDEX
static final int STR_DATA_TYPE_DEFAULT_INDEX
static final int STR_DATA_TYPE_LENGTH_INDEX
static final int STR_DATA_TYPE_FILTER_INDEX
static final int STR_DATA_TYPE_LIMIT_INDEX
List<String> makeDoc(File drsFile, String jsonData, File desDir, String desFilePrefix, String imageDir) throws IOException
接受外部传入的文档数据,填充进drs文档,并根据drs文档组成结构中模板对应的文档类型,制作对应包含数据的文档,并将文档放到指定目录。
drs全称:Data Recording System,表示文档数据录入系统,专用于往固定格式的文档录入数据的应用场景。这类场景具备以下特征:
1、对文档格式要求严格 2、对录入文档的数据要求严格 3、文档格式丰富多样
drs文档:代表后缀为.drs的文档,本质是一个用标准JAVA压缩算法制作的压缩包,其组成结构由两部分构成:模板+规则。
其中,模板名称为:template.xxx,.xxx是现有文档的后缀,比如:template.xlsx, 则表示模板采用excel制作,那么该接口返回制作好的填充数据完毕的excel文件。
其中,规则名称为:formatRule.ini,该规则具备承前启后的作用,具体过程: 前端依据该规则动态创建数据录入界面并限制数据录入的逻辑。 后端依据该规则效验传入数据的正确性并制作对应格式的文档。
drsFile
- drs文件jsonData
- 文档数据desDir
- 生成目标文档的存放目录,为空则采用文档模板所在目录desFilePrefix
- 生成目标文档的文件名前缀,为空则采用文档模板文件名作为文件名前缀imageDir
- 保存文档图片的目录路径,为空则不录入图片IOException
- 制作过程中,可能会抛出该异常List<String> makeDoc(File templateFile, INIData formatRule, String jsonData, File desDir, String desFilePrefix, String imageDir) throws IOException
templateFile
- 文档模板formatRule
- 制作规则jsonData
- 文档数据desDir
- 生成目标文档的存放目录,为空则采用文档模板所在目录desFilePrefix
- 生成目标文档的文件名前缀,为空则采用文档模板文件名作为文件名前缀imageDir
- 保存文档图片的目录路径,为空则不录入图片IOException
- 制作过程中,可能会抛出该异常