| | |
| | | implements MatnrPrintTemplateService { |
| | | |
| | | private static final Set<String> SUPPORTED_ELEMENT_TYPES = Collections.unmodifiableSet( |
| | | new LinkedHashSet<>(Arrays.asList("text", "barcode", "qrcode", "line", "rect", "table")) |
| | | new LinkedHashSet<>(Arrays.asList("text", "barcode", "qrcode", "image", "line", "rect", "table")) |
| | | ); |
| | | |
| | | @Override |
| | |
| | | throw new CoolException("二维码元素值模板不能为空"); |
| | | } |
| | | break; |
| | | case "image": |
| | | if (normalizeText(element.getString("src")).isEmpty()) { |
| | | throw new CoolException("图片元素地址不能为空"); |
| | | } |
| | | String objectFit = normalizeText(element.getString("objectFit")); |
| | | if (!objectFit.isEmpty() && !Arrays.asList("contain", "cover", "fill").contains(objectFit)) { |
| | | throw new CoolException("图片元素填充方式仅支持 contain、cover 或 fill"); |
| | | } |
| | | break; |
| | | case "table": |
| | | if (element.getJSONArray("columns") == null) { |
| | | throw new CoolException("表格元素 columns 不能为空"); |