@worm-vue3-print/core 1.3.9 → 1.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @worm-vue3-print/core v1.3.9
2
+ * @worm-vue3-print/core v1.3.10
3
3
  * Copyright (c) 2026 worm <liu_long_qqcom@qq.com>
4
4
  * SPDX-FileCopyrightText: 2026 worm <liu_long_qqcom@qq.com>
5
5
  * SPDX-License-Identifier: MIT
@@ -160,6 +160,35 @@ declare function escapeInlineStyleValue(cssValue: string): string;
160
160
  * - 其余 → 作为单个族名加引号后前置
161
161
  */
162
162
  declare function toFontFamilyStack(family?: string): string;
163
+ /**
164
+ * 设计器画布用的 font-family:与出图端同一口径补兜底栈。
165
+ * 画布若只写裸族名,本机缺该字体时会退到 UA 默认字体,而出纸走的是兜底栈——两端看到不同的字。
166
+ * 未设置族名时返回 `inherit`,保持「交还 CSS 继承」的既有语义。
167
+ */
168
+ declare function resolveCanvasFontFamily(family?: string): string;
169
+ /** 字体下拉的候选项:`family` 写入模板,`label` 仅供界面展示 */
170
+ interface FontCatalogOption {
171
+ family: string;
172
+ label?: string;
173
+ }
174
+ /**
175
+ * 整理字体下拉候选:候选只来自宿主声明的模板字体(随模板分发、三端一致,字体文件授权由使用者自负)。
176
+ * 项目不内置任何字体名档位——替用户预置或陈列第三方授权字体会把版权风险转嫁给设计器与产出物。
177
+ * 去空白、丢空值,族名大小写不敏感去重,保留声明顺序与首次出现的 label。
178
+ */
179
+ declare function normalizeFontCatalog(host?: readonly (FontCatalogOption | null | undefined)[] | null): FontCatalogOption[];
180
+ /** 在候选中按族名查找(大小写不敏感) */
181
+ declare function findFontOption(fonts: readonly FontCatalogOption[], family?: string): FontCatalogOption | undefined;
182
+ /** 下拉选项文案:有展示名时补上真实族名(写入模板的值) */
183
+ declare function fontOptionLabel(option: FontCatalogOption): string;
184
+ /** 匹配用键:小写并去掉全部空白,使用户输入 `ya hei` 与 `yahei` 等价 */
185
+ declare function normalizeFontQuery(value: string): string;
186
+ /**
187
+ * 模糊过滤字体候选:完全相等 > 前缀 > 子串 > 子序列,同档保持候选原有顺序
188
+ * (顺序由宿主声明决定,过滤不应打乱)。族名与展示名(label)都参与匹配,
189
+ * 设计者按业务名搜也能命中。
190
+ */
191
+ declare function filterFontOptions(fonts: readonly FontCatalogOption[], query: string): FontCatalogOption[];
163
192
 
164
193
  /**
165
194
  * 纸张尺寸。
@@ -240,7 +269,7 @@ interface MultiPageTemplateData$1 {
240
269
  /** 模板元素引用(用于 TemplateData 各区域) */
241
270
  type TemplateElement$1 = PrintElementData;
242
271
  /** 元素类型 */
243
- type ElementType = 'text' | 'image' | 'longText' | 'table' | 'hline' | 'vline' | 'rect' | 'oval' | 'barcode' | 'qrcode' | 'html' | 'pageNumber';
272
+ type ElementType = 'text' | 'image' | 'longText' | 'table' | 'flowList' | 'hline' | 'vline' | 'rect' | 'oval' | 'barcode' | 'qrcode' | 'html' | 'pageNumber';
244
273
  /** 对齐方式 */
245
274
  type TextAlign = 'left' | 'center' | 'right' | 'justify';
246
275
  /**
@@ -311,6 +340,14 @@ interface TableCell {
311
340
  barcodeType?: string;
312
341
  qrCodeLevel?: string;
313
342
  qrQuietZone?: number;
343
+ /**
344
+ * 条形码静区(左右白边)宽度(模块),仅 cellType='barcode' 时生效:
345
+ * 缺省 10(一维码码制对静区的下限要求),填 0 即不留白边、把这部分宽度全部换成条宽。
346
+ * 白边是「条→空→条」跳变的一部分,压到 0 时若相邻格有文字或边框线,可能扫不出,需自行验证。
347
+ */
348
+ barQuietZone?: number;
349
+ /** 条区高度(mm,不含下方文字),仅 cellType='barcode' 时生效:折算粒度为每模块物理宽,框高不足时由条高让位 */
350
+ barHeight?: number;
314
351
  showBarcodeText?: boolean;
315
352
  /**
316
353
  * 打印机分辨率(点/英寸,常见 203/300/600),仅 cellType='barcode' 时生效:
@@ -319,7 +356,7 @@ interface TableCell {
319
356
  * 单元格可用宽高不足则整体等比缩小,消除热敏出纸「条宽忽宽忽窄」。
320
357
  */
321
358
  printerDpi?: number;
322
- /** 条码模块宽度倍率(2-4),仅 cellType='barcode' 时生效:每模块首选宽度 = 倍率/2 × 0.25mm */
359
+ /** 条码模块宽度倍率(2-8),仅 cellType='barcode' 时生效:每模块首选宽度 = 倍率/2 × 0.25mm */
323
360
  barWidth?: number;
324
361
  /** 条码下方文本字号(相对条高,条高为 30),仅 cellType='barcode' 时生效 */
325
362
  barFontSize?: number;
@@ -416,6 +453,18 @@ interface ElementOptions {
416
453
  textType?: 'barcode' | 'qrcode';
417
454
  barcodeType?: string;
418
455
  barWidth?: number;
456
+ /**
457
+ * 条形码静区(左右白边)宽度,单位「模块」,缺省 10(一维码码制对静区的下限要求)。
458
+ * 填 0 即不留白边,这 20 个模块全部换成条宽;但静区参与「条→空→条」跳变,
459
+ * 压到 0 后若紧邻文字或表格线可能扫不出,需自行验证。
460
+ */
461
+ barQuietZone?: number;
462
+ /**
463
+ * 条区高度(mm,不含下方文字),缺省按 30 模块的等比档。
464
+ * 折算粒度就是「每模块物理宽」,所以实际落纸只能精确到它的整数倍;可用框高装不下时由条高
465
+ * 让位,绝不反过来挤窄条宽——条宽是热敏出纸清晰度的第一来源(结算见 render/barcode-dot.ts)。
466
+ */
467
+ barHeight?: number;
419
468
  barAutoWidth?: string;
420
469
  /**
421
470
  * 打印机分辨率(点/英寸,常见 203/300/600):条形码尺寸由「条宽 → dpi → 等比缩小」结算
@@ -455,6 +504,8 @@ interface ElementOptions {
455
504
  tableRows?: TableRow[];
456
505
  tableColWidths?: number[];
457
506
  tableDefaultFontSize?: number;
507
+ /** 单元格未设置 fontFamily 时的继承基线(与 tableDefaultFontSize 同一优先级口径) */
508
+ tableDefaultFontFamily?: string;
458
509
  tableDefaultColor?: string;
459
510
  tableDefaultPadding?: number;
460
511
  /** 列表数据源路径(data 行迭代的数据数组) */
@@ -465,6 +516,22 @@ interface ElementOptions {
465
516
  styler?: string;
466
517
  rowStyler?: string;
467
518
  longTextIndent?: number;
519
+ /**
520
+ * 每行列数:必须由模板作者指定,不随内容自动算(见 specs 第八节第 1 项)。
521
+ * 列数 × 单元宽放不进元素框时属性台只提示、不改用户填的数(第 3 项口径)。
522
+ */
523
+ flowColumns?: number;
524
+ /** 行高(mm,最小高语义:内容高于行高时该行撑高,与表格行高同口径) */
525
+ flowRowHeight?: number;
526
+ /** 单元横向间距(mm);纵向不留缝,行距由行高承担 */
527
+ flowGapX?: number;
528
+ /** 内容过长时自动跨列(占位式:吃掉 N 个列位,当前行剩不够就整个挪到下一行行首);缺省关 */
529
+ flowAutoSpan?: boolean;
530
+ /**
531
+ * 最多跨几列:仅在 flowAutoSpan 为真时生效。上限钳到「每行列数」——这是本元素唯一
532
+ * 会改用户填值的行为,与 flowColumns 冲突时按列数顶回(specs 第八节第 9 项)。
533
+ */
534
+ flowMaxSpan?: number;
468
535
  }
469
536
  /** 元素类型元数据 */
470
537
  interface PrintElementTypeMeta {
@@ -670,6 +737,14 @@ interface RenderCell {
670
737
  qrCodeLevel?: string;
671
738
  /** 二维码静区(白边)宽度(模块),仅 cellType='qrcode' 时生效;缺省 0 = 码面铺满单元格 */
672
739
  qrQuietZone?: number;
740
+ /** 条形码静区(左右白边)宽度(模块),仅 cellType='barcode' 时生效;缺省 10 = 码制要求下限,0 = 不留白边 */
741
+ barQuietZone?: number;
742
+ /** 条区高度(mm,不含下方文本),仅 cellType='barcode' 时生效;缺省按 30 模块的等比档 */
743
+ barHeight?: number;
744
+ /** 条码模块宽度倍率(2-8),仅 cellType='barcode' 时生效:每模块首选宽度 = 倍率/2 × 0.25mm */
745
+ barWidth?: number;
746
+ /** 条码下方文本字号(相对条高,条高为 30),仅 cellType='barcode' 时生效 */
747
+ barFontSize?: number;
673
748
  /** 条形码下方是否显示文本,仅 cellType='barcode' 时生效 */
674
749
  showBarcodeText?: boolean;
675
750
  /** 打印机分辨率(点/英寸),仅 cellType='barcode' 时生效:给出后条码尺寸优先适配打印机点阵 */
@@ -718,9 +793,16 @@ interface CodeRenderOptions {
718
793
  qrCodeLevel?: string;
719
794
  /** 二维码静区(白边)宽度,单位「模块」,仅 qrcode 类型使用;缺省 0 = 无白边,码面即整张图 */
720
795
  qrQuietZone?: number;
796
+ /** 条形码静区(左右白边)宽度,单位「模块」,仅 barcode 类型使用;缺省 10(= 一维码码制要求下限),0 = 不留白边 */
797
+ barQuietZone?: number;
798
+ /**
799
+ * 条区高度(mm,不含下方文本),仅 barcode 类型使用;缺省按 30 模块的等比档。
800
+ * 条宽优先:本字段只决定条区占多少模块,粒度是每模块物理宽;可用框高不足时条高让位,不挤窄条宽。
801
+ */
802
+ barHeightMm?: number;
721
803
  /** 条形码下方是否显示文本 */
722
804
  showText?: boolean;
723
- /** 条码模块宽度倍率;决定每模块的首选物理宽度(倍率/2 × 0.25mm),给 dpi 后吸附到最近整数点 */
805
+ /** 条码模块宽度倍率(2-8);决定每模块的首选物理宽度(倍率/2 × 0.25mm),给 dpi 后吸附到最近整数点 */
724
806
  barWidth?: number;
725
807
  /** 条码下方文本字号(pt) */
726
808
  fontSize?: number;
@@ -947,4 +1029,4 @@ interface DriverFactory {
947
1029
  createDriver(): Promise<PageDriver>;
948
1030
  }
949
1031
 
950
- export { type PreparedDocument as $, type AdsorbResult as A, type BindingDescriptor as B, type CodeRenderer as C, type DriverFactory as D, type ElementBorderSide as E, type TemplateElement$1 as F, type TextAlign as G, type TextFit as H, type UploadImageFn as I, type MeasuredElement as J, type TemplateElement as K, type PaperMm as L, type MultiPageTemplateData as M, type ViewportPx as N, type HeightSource as O, type PageLayout as P, type MarginsMm as Q, type RawMeasurement as R, type PdfTargetSpec as S, type TemplateData as T, type UploadDesignBackgroundFn as U, type VerticalAlign as V, type WatermarkOptions as W, type CodeRenderOptions as X, type ExecutorBundle as Y, type TileLayout as Z, type PrintJob as _, type CodeSpec as a, type RenderPdfResult as a0, type PrintFontDeclaration as a1, type ContinuousPaperSize as a2, EXECUTOR_TARGETS as a3, type ExecutorMethod as a4, type ExecutorTargetKind as a5, FALLBACK_FONT_STACK as a6, MAX_BATCH_COPIES as a7, type NormalizedPrintData as a8, PAPER_DIMENSIONS as a9, roundMm as aA, tilePosition as aB, toFontFamilyStack as aC, validateTiling as aD, type PageDriver as aa, type PageSection as ab, type PaperSize as ac, type PrintDataInput as ad, type PrintFontFile as ae, type RenderCell as af, type RenderRequest as ag, type RenderRow as ah, type SheetPaperSize as ai, TILE_DEFAULTS as aj, TilingError as ak, type TilingIssue as al, type TilingIssueCode as am, type TilingOptions as an, type TilingResolveOptions as ao, type TilingTemplateInput as ap, buildFontFaceCss as aq, computeMaxColumns as ar, computeTileLayout as as, escapeInlineStyleValue as at, getPaperDimensions as au, isContinuousPaper as av, isContinuousPaperSize as aw, normalizePrintData as ax, normalizeTilingOptions as ay, resolveSheetMm as az, type ElementOptions as b, type TemplateData$1 as c, type TableRow as d, type TableCellBorder as e, type TableCell as f, type TableRowType as g, type ElementType as h, type RuntimeElement as i, type ElementZone as j, type PrintBusinessField as k, type ElementRect as l, type ResizePoint as m, type AlignLine as n, type DesignBackground as o, type ElementBorderEdge as p, type ElementFieldBinding as q, type MultiPageTemplateData$1 as r, type PaginationConfig$1 as s, type PaperSize$1 as t, type PrintElementData as u, type PrintElementTypeMeta as v, type TableCellBorders as w, type TableCellType as x, type TablePaginationConfig$1 as y, type TableSelection as z };
1032
+ export { type PreparedDocument as $, type AdsorbResult as A, type BindingDescriptor as B, type CodeRenderer as C, type DriverFactory as D, type ElementBorderSide as E, type TemplateElement$1 as F, type TextAlign as G, type TextFit as H, type UploadImageFn as I, type MeasuredElement as J, type TemplateElement as K, type PaperMm as L, type MultiPageTemplateData as M, type ViewportPx as N, type HeightSource as O, type PageLayout as P, type MarginsMm as Q, type RawMeasurement as R, type PdfTargetSpec as S, type TemplateData as T, type UploadDesignBackgroundFn as U, type VerticalAlign as V, type WatermarkOptions as W, type CodeRenderOptions as X, type ExecutorBundle as Y, type TileLayout as Z, type PrintJob as _, type CodeSpec as a, type RenderPdfResult as a0, type PrintFontDeclaration as a1, type ContinuousPaperSize as a2, EXECUTOR_TARGETS as a3, type ExecutorMethod as a4, type ExecutorTargetKind as a5, FALLBACK_FONT_STACK as a6, type FontCatalogOption as a7, MAX_BATCH_COPIES as a8, type NormalizedPrintData as a9, isContinuousPaperSize as aA, normalizeFontCatalog as aB, normalizeFontQuery as aC, normalizePrintData as aD, normalizeTilingOptions as aE, resolveCanvasFontFamily as aF, resolveSheetMm as aG, roundMm as aH, tilePosition as aI, toFontFamilyStack as aJ, validateTiling as aK, PAPER_DIMENSIONS as aa, type PageDriver as ab, type PageSection as ac, type PaperSize as ad, type PrintDataInput as ae, type PrintFontFile as af, type RenderCell as ag, type RenderRequest as ah, type RenderRow as ai, type SheetPaperSize as aj, TILE_DEFAULTS as ak, TilingError as al, type TilingIssue as am, type TilingIssueCode as an, type TilingOptions as ao, type TilingResolveOptions as ap, type TilingTemplateInput as aq, buildFontFaceCss as ar, computeMaxColumns as as, computeTileLayout as at, escapeInlineStyleValue as au, filterFontOptions as av, findFontOption as aw, fontOptionLabel as ax, getPaperDimensions as ay, isContinuousPaper as az, type ElementOptions as b, type TemplateData$1 as c, type ElementBorderEdge as d, type TableCellBorder as e, type TableRow as f, type TableCell as g, type TableCellType as h, type TableCellBorders as i, type TableRowType as j, type ElementType as k, type RuntimeElement as l, type ElementZone as m, type PrintBusinessField as n, type ElementRect as o, type ResizePoint as p, type AlignLine as q, type DesignBackground as r, type ElementFieldBinding as s, type MultiPageTemplateData$1 as t, type PaginationConfig$1 as u, type PaperSize$1 as v, type PrintElementData as w, type PrintElementTypeMeta as x, type TablePaginationConfig$1 as y, type TableSelection as z };
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @worm-vue3-print/core v1.3.9
2
+ * @worm-vue3-print/core v1.3.10
3
3
  * Copyright (c) 2026 worm <liu_long_qqcom@qq.com>
4
4
  * SPDX-FileCopyrightText: 2026 worm <liu_long_qqcom@qq.com>
5
5
  * SPDX-License-Identifier: MIT
@@ -160,6 +160,35 @@ declare function escapeInlineStyleValue(cssValue: string): string;
160
160
  * - 其余 → 作为单个族名加引号后前置
161
161
  */
162
162
  declare function toFontFamilyStack(family?: string): string;
163
+ /**
164
+ * 设计器画布用的 font-family:与出图端同一口径补兜底栈。
165
+ * 画布若只写裸族名,本机缺该字体时会退到 UA 默认字体,而出纸走的是兜底栈——两端看到不同的字。
166
+ * 未设置族名时返回 `inherit`,保持「交还 CSS 继承」的既有语义。
167
+ */
168
+ declare function resolveCanvasFontFamily(family?: string): string;
169
+ /** 字体下拉的候选项:`family` 写入模板,`label` 仅供界面展示 */
170
+ interface FontCatalogOption {
171
+ family: string;
172
+ label?: string;
173
+ }
174
+ /**
175
+ * 整理字体下拉候选:候选只来自宿主声明的模板字体(随模板分发、三端一致,字体文件授权由使用者自负)。
176
+ * 项目不内置任何字体名档位——替用户预置或陈列第三方授权字体会把版权风险转嫁给设计器与产出物。
177
+ * 去空白、丢空值,族名大小写不敏感去重,保留声明顺序与首次出现的 label。
178
+ */
179
+ declare function normalizeFontCatalog(host?: readonly (FontCatalogOption | null | undefined)[] | null): FontCatalogOption[];
180
+ /** 在候选中按族名查找(大小写不敏感) */
181
+ declare function findFontOption(fonts: readonly FontCatalogOption[], family?: string): FontCatalogOption | undefined;
182
+ /** 下拉选项文案:有展示名时补上真实族名(写入模板的值) */
183
+ declare function fontOptionLabel(option: FontCatalogOption): string;
184
+ /** 匹配用键:小写并去掉全部空白,使用户输入 `ya hei` 与 `yahei` 等价 */
185
+ declare function normalizeFontQuery(value: string): string;
186
+ /**
187
+ * 模糊过滤字体候选:完全相等 > 前缀 > 子串 > 子序列,同档保持候选原有顺序
188
+ * (顺序由宿主声明决定,过滤不应打乱)。族名与展示名(label)都参与匹配,
189
+ * 设计者按业务名搜也能命中。
190
+ */
191
+ declare function filterFontOptions(fonts: readonly FontCatalogOption[], query: string): FontCatalogOption[];
163
192
 
164
193
  /**
165
194
  * 纸张尺寸。
@@ -240,7 +269,7 @@ interface MultiPageTemplateData$1 {
240
269
  /** 模板元素引用(用于 TemplateData 各区域) */
241
270
  type TemplateElement$1 = PrintElementData;
242
271
  /** 元素类型 */
243
- type ElementType = 'text' | 'image' | 'longText' | 'table' | 'hline' | 'vline' | 'rect' | 'oval' | 'barcode' | 'qrcode' | 'html' | 'pageNumber';
272
+ type ElementType = 'text' | 'image' | 'longText' | 'table' | 'flowList' | 'hline' | 'vline' | 'rect' | 'oval' | 'barcode' | 'qrcode' | 'html' | 'pageNumber';
244
273
  /** 对齐方式 */
245
274
  type TextAlign = 'left' | 'center' | 'right' | 'justify';
246
275
  /**
@@ -311,6 +340,14 @@ interface TableCell {
311
340
  barcodeType?: string;
312
341
  qrCodeLevel?: string;
313
342
  qrQuietZone?: number;
343
+ /**
344
+ * 条形码静区(左右白边)宽度(模块),仅 cellType='barcode' 时生效:
345
+ * 缺省 10(一维码码制对静区的下限要求),填 0 即不留白边、把这部分宽度全部换成条宽。
346
+ * 白边是「条→空→条」跳变的一部分,压到 0 时若相邻格有文字或边框线,可能扫不出,需自行验证。
347
+ */
348
+ barQuietZone?: number;
349
+ /** 条区高度(mm,不含下方文字),仅 cellType='barcode' 时生效:折算粒度为每模块物理宽,框高不足时由条高让位 */
350
+ barHeight?: number;
314
351
  showBarcodeText?: boolean;
315
352
  /**
316
353
  * 打印机分辨率(点/英寸,常见 203/300/600),仅 cellType='barcode' 时生效:
@@ -319,7 +356,7 @@ interface TableCell {
319
356
  * 单元格可用宽高不足则整体等比缩小,消除热敏出纸「条宽忽宽忽窄」。
320
357
  */
321
358
  printerDpi?: number;
322
- /** 条码模块宽度倍率(2-4),仅 cellType='barcode' 时生效:每模块首选宽度 = 倍率/2 × 0.25mm */
359
+ /** 条码模块宽度倍率(2-8),仅 cellType='barcode' 时生效:每模块首选宽度 = 倍率/2 × 0.25mm */
323
360
  barWidth?: number;
324
361
  /** 条码下方文本字号(相对条高,条高为 30),仅 cellType='barcode' 时生效 */
325
362
  barFontSize?: number;
@@ -416,6 +453,18 @@ interface ElementOptions {
416
453
  textType?: 'barcode' | 'qrcode';
417
454
  barcodeType?: string;
418
455
  barWidth?: number;
456
+ /**
457
+ * 条形码静区(左右白边)宽度,单位「模块」,缺省 10(一维码码制对静区的下限要求)。
458
+ * 填 0 即不留白边,这 20 个模块全部换成条宽;但静区参与「条→空→条」跳变,
459
+ * 压到 0 后若紧邻文字或表格线可能扫不出,需自行验证。
460
+ */
461
+ barQuietZone?: number;
462
+ /**
463
+ * 条区高度(mm,不含下方文字),缺省按 30 模块的等比档。
464
+ * 折算粒度就是「每模块物理宽」,所以实际落纸只能精确到它的整数倍;可用框高装不下时由条高
465
+ * 让位,绝不反过来挤窄条宽——条宽是热敏出纸清晰度的第一来源(结算见 render/barcode-dot.ts)。
466
+ */
467
+ barHeight?: number;
419
468
  barAutoWidth?: string;
420
469
  /**
421
470
  * 打印机分辨率(点/英寸,常见 203/300/600):条形码尺寸由「条宽 → dpi → 等比缩小」结算
@@ -455,6 +504,8 @@ interface ElementOptions {
455
504
  tableRows?: TableRow[];
456
505
  tableColWidths?: number[];
457
506
  tableDefaultFontSize?: number;
507
+ /** 单元格未设置 fontFamily 时的继承基线(与 tableDefaultFontSize 同一优先级口径) */
508
+ tableDefaultFontFamily?: string;
458
509
  tableDefaultColor?: string;
459
510
  tableDefaultPadding?: number;
460
511
  /** 列表数据源路径(data 行迭代的数据数组) */
@@ -465,6 +516,22 @@ interface ElementOptions {
465
516
  styler?: string;
466
517
  rowStyler?: string;
467
518
  longTextIndent?: number;
519
+ /**
520
+ * 每行列数:必须由模板作者指定,不随内容自动算(见 specs 第八节第 1 项)。
521
+ * 列数 × 单元宽放不进元素框时属性台只提示、不改用户填的数(第 3 项口径)。
522
+ */
523
+ flowColumns?: number;
524
+ /** 行高(mm,最小高语义:内容高于行高时该行撑高,与表格行高同口径) */
525
+ flowRowHeight?: number;
526
+ /** 单元横向间距(mm);纵向不留缝,行距由行高承担 */
527
+ flowGapX?: number;
528
+ /** 内容过长时自动跨列(占位式:吃掉 N 个列位,当前行剩不够就整个挪到下一行行首);缺省关 */
529
+ flowAutoSpan?: boolean;
530
+ /**
531
+ * 最多跨几列:仅在 flowAutoSpan 为真时生效。上限钳到「每行列数」——这是本元素唯一
532
+ * 会改用户填值的行为,与 flowColumns 冲突时按列数顶回(specs 第八节第 9 项)。
533
+ */
534
+ flowMaxSpan?: number;
468
535
  }
469
536
  /** 元素类型元数据 */
470
537
  interface PrintElementTypeMeta {
@@ -670,6 +737,14 @@ interface RenderCell {
670
737
  qrCodeLevel?: string;
671
738
  /** 二维码静区(白边)宽度(模块),仅 cellType='qrcode' 时生效;缺省 0 = 码面铺满单元格 */
672
739
  qrQuietZone?: number;
740
+ /** 条形码静区(左右白边)宽度(模块),仅 cellType='barcode' 时生效;缺省 10 = 码制要求下限,0 = 不留白边 */
741
+ barQuietZone?: number;
742
+ /** 条区高度(mm,不含下方文本),仅 cellType='barcode' 时生效;缺省按 30 模块的等比档 */
743
+ barHeight?: number;
744
+ /** 条码模块宽度倍率(2-8),仅 cellType='barcode' 时生效:每模块首选宽度 = 倍率/2 × 0.25mm */
745
+ barWidth?: number;
746
+ /** 条码下方文本字号(相对条高,条高为 30),仅 cellType='barcode' 时生效 */
747
+ barFontSize?: number;
673
748
  /** 条形码下方是否显示文本,仅 cellType='barcode' 时生效 */
674
749
  showBarcodeText?: boolean;
675
750
  /** 打印机分辨率(点/英寸),仅 cellType='barcode' 时生效:给出后条码尺寸优先适配打印机点阵 */
@@ -718,9 +793,16 @@ interface CodeRenderOptions {
718
793
  qrCodeLevel?: string;
719
794
  /** 二维码静区(白边)宽度,单位「模块」,仅 qrcode 类型使用;缺省 0 = 无白边,码面即整张图 */
720
795
  qrQuietZone?: number;
796
+ /** 条形码静区(左右白边)宽度,单位「模块」,仅 barcode 类型使用;缺省 10(= 一维码码制要求下限),0 = 不留白边 */
797
+ barQuietZone?: number;
798
+ /**
799
+ * 条区高度(mm,不含下方文本),仅 barcode 类型使用;缺省按 30 模块的等比档。
800
+ * 条宽优先:本字段只决定条区占多少模块,粒度是每模块物理宽;可用框高不足时条高让位,不挤窄条宽。
801
+ */
802
+ barHeightMm?: number;
721
803
  /** 条形码下方是否显示文本 */
722
804
  showText?: boolean;
723
- /** 条码模块宽度倍率;决定每模块的首选物理宽度(倍率/2 × 0.25mm),给 dpi 后吸附到最近整数点 */
805
+ /** 条码模块宽度倍率(2-8);决定每模块的首选物理宽度(倍率/2 × 0.25mm),给 dpi 后吸附到最近整数点 */
724
806
  barWidth?: number;
725
807
  /** 条码下方文本字号(pt) */
726
808
  fontSize?: number;
@@ -947,4 +1029,4 @@ interface DriverFactory {
947
1029
  createDriver(): Promise<PageDriver>;
948
1030
  }
949
1031
 
950
- export { type PreparedDocument as $, type AdsorbResult as A, type BindingDescriptor as B, type CodeRenderer as C, type DriverFactory as D, type ElementBorderSide as E, type TemplateElement$1 as F, type TextAlign as G, type TextFit as H, type UploadImageFn as I, type MeasuredElement as J, type TemplateElement as K, type PaperMm as L, type MultiPageTemplateData as M, type ViewportPx as N, type HeightSource as O, type PageLayout as P, type MarginsMm as Q, type RawMeasurement as R, type PdfTargetSpec as S, type TemplateData as T, type UploadDesignBackgroundFn as U, type VerticalAlign as V, type WatermarkOptions as W, type CodeRenderOptions as X, type ExecutorBundle as Y, type TileLayout as Z, type PrintJob as _, type CodeSpec as a, type RenderPdfResult as a0, type PrintFontDeclaration as a1, type ContinuousPaperSize as a2, EXECUTOR_TARGETS as a3, type ExecutorMethod as a4, type ExecutorTargetKind as a5, FALLBACK_FONT_STACK as a6, MAX_BATCH_COPIES as a7, type NormalizedPrintData as a8, PAPER_DIMENSIONS as a9, roundMm as aA, tilePosition as aB, toFontFamilyStack as aC, validateTiling as aD, type PageDriver as aa, type PageSection as ab, type PaperSize as ac, type PrintDataInput as ad, type PrintFontFile as ae, type RenderCell as af, type RenderRequest as ag, type RenderRow as ah, type SheetPaperSize as ai, TILE_DEFAULTS as aj, TilingError as ak, type TilingIssue as al, type TilingIssueCode as am, type TilingOptions as an, type TilingResolveOptions as ao, type TilingTemplateInput as ap, buildFontFaceCss as aq, computeMaxColumns as ar, computeTileLayout as as, escapeInlineStyleValue as at, getPaperDimensions as au, isContinuousPaper as av, isContinuousPaperSize as aw, normalizePrintData as ax, normalizeTilingOptions as ay, resolveSheetMm as az, type ElementOptions as b, type TemplateData$1 as c, type TableRow as d, type TableCellBorder as e, type TableCell as f, type TableRowType as g, type ElementType as h, type RuntimeElement as i, type ElementZone as j, type PrintBusinessField as k, type ElementRect as l, type ResizePoint as m, type AlignLine as n, type DesignBackground as o, type ElementBorderEdge as p, type ElementFieldBinding as q, type MultiPageTemplateData$1 as r, type PaginationConfig$1 as s, type PaperSize$1 as t, type PrintElementData as u, type PrintElementTypeMeta as v, type TableCellBorders as w, type TableCellType as x, type TablePaginationConfig$1 as y, type TableSelection as z };
1032
+ export { type PreparedDocument as $, type AdsorbResult as A, type BindingDescriptor as B, type CodeRenderer as C, type DriverFactory as D, type ElementBorderSide as E, type TemplateElement$1 as F, type TextAlign as G, type TextFit as H, type UploadImageFn as I, type MeasuredElement as J, type TemplateElement as K, type PaperMm as L, type MultiPageTemplateData as M, type ViewportPx as N, type HeightSource as O, type PageLayout as P, type MarginsMm as Q, type RawMeasurement as R, type PdfTargetSpec as S, type TemplateData as T, type UploadDesignBackgroundFn as U, type VerticalAlign as V, type WatermarkOptions as W, type CodeRenderOptions as X, type ExecutorBundle as Y, type TileLayout as Z, type PrintJob as _, type CodeSpec as a, type RenderPdfResult as a0, type PrintFontDeclaration as a1, type ContinuousPaperSize as a2, EXECUTOR_TARGETS as a3, type ExecutorMethod as a4, type ExecutorTargetKind as a5, FALLBACK_FONT_STACK as a6, type FontCatalogOption as a7, MAX_BATCH_COPIES as a8, type NormalizedPrintData as a9, isContinuousPaperSize as aA, normalizeFontCatalog as aB, normalizeFontQuery as aC, normalizePrintData as aD, normalizeTilingOptions as aE, resolveCanvasFontFamily as aF, resolveSheetMm as aG, roundMm as aH, tilePosition as aI, toFontFamilyStack as aJ, validateTiling as aK, PAPER_DIMENSIONS as aa, type PageDriver as ab, type PageSection as ac, type PaperSize as ad, type PrintDataInput as ae, type PrintFontFile as af, type RenderCell as ag, type RenderRequest as ah, type RenderRow as ai, type SheetPaperSize as aj, TILE_DEFAULTS as ak, TilingError as al, type TilingIssue as am, type TilingIssueCode as an, type TilingOptions as ao, type TilingResolveOptions as ap, type TilingTemplateInput as aq, buildFontFaceCss as ar, computeMaxColumns as as, computeTileLayout as at, escapeInlineStyleValue as au, filterFontOptions as av, findFontOption as aw, fontOptionLabel as ax, getPaperDimensions as ay, isContinuousPaper as az, type ElementOptions as b, type TemplateData$1 as c, type ElementBorderEdge as d, type TableCellBorder as e, type TableRow as f, type TableCell as g, type TableCellType as h, type TableCellBorders as i, type TableRowType as j, type ElementType as k, type RuntimeElement as l, type ElementZone as m, type PrintBusinessField as n, type ElementRect as o, type ResizePoint as p, type AlignLine as q, type DesignBackground as r, type ElementFieldBinding as s, type MultiPageTemplateData$1 as t, type PaginationConfig$1 as u, type PaperSize$1 as v, type PrintElementData as w, type PrintElementTypeMeta as x, type TablePaginationConfig$1 as y, type TableSelection as z };