生态产品多个设计器现已发布候选版本

查看生态总览
跳转到内容

问题码与诊断 ​

校验问题由 validateDocument 与设计器的问题列表给出,分页诊断随分页结果一起给出。问题都不带文案,只有问题码、严重程度、路径与参数;下表的说明来自中文语言包 printZhCN,其中的 {名} 是参数,实际文案只含问题给出的参数。

校验问题 ​

有错误级问题的模板不能分页:paginate 抛出 PrintLayoutError(码为 document.invalid),预览元素派发 pagination-error。警告不影响分页。

问题码严重程度说明参数
required错误缺少必填项—
invalid-type错误类型不对—
invalid-value错误取值无效—
out-of-range错误应不小于 {min}、大于 {exclusiveMin}、不大于min、exclusiveMin、max
not-integer错误应为整数—
invalid-option错误不是可选的值—
invalid-color错误不是有效的颜色—
empty错误不能为空—
unknown-key警告未知的属性key
unknown-control错误未知的编辑方式—
duplicate-key错误键 {key} 重复key
duplicate-id错误标识 {id} 重复id
duplicate-value错误选项的值重复—
json.circular错误数据有循环引用—
schema.unsupportedVersion错误不支持模板版本 {version}(应为 {supported})version、supported
field.empty警告没有绑定字段—
field.invalidPath错误字段路径 {field} 写法不对field
template.unclosedPlaceholder错误模板里有没闭合的 {{—
template.emptyPlaceholder错误模板里有空的 {{}}—
template.invalidPath错误模板里的字段路径写法不对—
expression.invalid错误表达式有误—
format.duplicateMapValue警告值映射里 {value} 重复value
format.invalidOption错误格式选项无效—
format.conflict错误格式选项相互冲突—
document.noPages错误模板里没有页面—
page.presetMismatch警告纸张尺寸与 {preset} 不符preset
page.noContentArea错误页边距占满了纸张—
page.bandsOverflow错误页眉页脚比版心还高—
watermark.emptyText警告水印文字为空—
element.unknownType错误未知的元素种类type
element.tooSmall错误小于最小尺寸 … × … mmminWidth、minHeight
element.outsidePaper警告超出纸张—
element.outsideBand警告超出{region}区region
element.flowInBand错误跨页元素只能放在正文区—
element.flowOutsideBody警告跨页元素超出正文区—
line.zeroLength错误直线长度为 0—
shape.invisible警告图形既没有边线也没有填充—
image.emptySource警告图片地址为空—
image.unsafeSource错误图片地址不允许使用—
table.noColumns警告表格没有列—
table.duplicateColumnId错误列标识 {id} 重复id
table.duplicateRowId错误表尾行标识 {id} 重复id
table.columnWidthMismatch警告列宽合计 … mm,与表格宽度 … mm 不一致columnsWidth、width
table.unknownColumn错误表尾单元格指向不存在的列columnId
table.cellSpanOverflow错误跨 {colSpan} 列,右侧只剩 {available} 列colSpan、available
table.cellOverlap错误表尾单元格与其它单元格重叠—
table.aggregateFieldMissing错误汇总 {fn} 缺少字段fn
table.rowExceedsBody警告表头加一行需要 … mm,正文区只有 … mmrequired、available
barCode.invalidValue错误内容无法按 {format} 编码format
matrixCode.invalidValue错误内容无法按 {format} 编码format
matrixCode.invalidLevel错误纠错级别 {level} 不适用于level、format
matrixCode.levelIgnored警告{format} 没有纠错级别,设置的级别不起作用format
matrixCode.notSquare警告二维码宽高不等—
pageNumber.noToken警告页码格式里没有 {{$page}} 或 {{$pages}}—
pageNumber.unknownToken警告页码格式里有未知的变量token
richText.invalidDocument错误富文本写法不对code
richText.empty警告富文本没有内容—

分页诊断 ​

分页诊断不打断分页:错误表示按模板该画的内容没有画出或输出页被截断,警告表示内容画出了但与设计有出入。同一位置的同一问题只报告一次。

问题码严重程度说明参数
data.notArray警告字段 {field} 不是数组field
data.notScalar警告字段 {field} 不是单个值field
format.unavailable警告没有提供格式化器—
format.failed警告格式化失败—
expression.unavailable警告没有提供表达式引擎—
expression.failed错误表达式求值失败—
image.unsafeSource错误图片地址不允许使用—
barCode.invalidValue错误内容无法按 {format} 编码format
matrixCode.invalidValue错误内容无法按 {format} 编码format
text.overflow警告文字缩到 {fontSize} pt 仍超出元素框fontSize
richText.droppedContent警告字段 {field} 的 HTML 里去掉了field、names
richText.invalidData错误字段 {field} 不是合规的富文本文档field
table.rowOverflow警告第 … 行在一页里放不下dataIndex
element.overflow警告内容超出元素框—
layout.sheetLimit错误输出页数超过上限limit

分页与打印失败 ​

分页无法进行的原因:文档有 error 级校验问题、选项不合法、测量器或格式化器返回了不合法的结果。

PrintLayoutError 的码:document.invalid、option.invalid、measurer.invalidResult、formatter.invalidResult。

运行时无法完成分页或打印的原因:拿不到文字度量器、没有给模板。

PrintRuntimeError 的码:measurer.unavailable、schema.missing。

Released under The MIT License