Barcode

纯托管、零依赖地把内容编码为一维条码并用 SVG 绘制,内置六种常见制式。

最后更新

说明

不依赖第三方库、网络字体或后端接口,直接在浏览器端把内容编码为模块串后绘制为矢量 SVG,缩放不失真、可打印。Format 选择制式(大小写不敏感):code39、code128、ean13、ean8、upca、itf。Code 128 自动在 A / B / C 码集间切换并计算校验;EAN-13 / EAN-8 / UPC-A 在位数足够时自动补校验位;Code 39 可用 AddChecksum 追加校验字符;ITF 仅接受数字、奇数位自动补 0。ModuleWidth 控制窄模块像素宽、Height 控制条纹高、QuietZone 控制左右静区、ForeColor / BackColor 控制配色,ShowValue 决定是否在下方显示完整码值(可用 DisplayValue 覆盖)。各制式对字符集与长度有硬性约束,内容不合规时组件优雅降级为本地化提示。

常见能力:

  • 零第三方依赖,纯托管编码 + SVG 矢量绘制
  • Code 39 / Code 128 / EAN-13 / EAN-8 / UPC-A / ITF 六种制式
  • Code 128 自动 A / B / C 码集切换与校验
  • EAN / UPC 自动补校验位
  • 静区、模块宽度、条纹高度与配色可调
  • 内容非法时本地化降级提示

用法

<Barcode Format="code128" Value="https://known.org.cn" Height="64" />

@* EAN-13 给 12 位数字,校验位自动补全 *@
<Barcode Format="ean13" Value="400638133393" ShowValue="true" />

API 参数

参数 类型 默认值 说明
AddChecksum bool false 仅对 Code 39 生效:是否追加校验字符。
BackColor string "#fff" 背景颜色,默认 #fff。
DisplayValue string null 覆盖显示文本(默认用编码结果全码);属数据不做本地化。
ForeColor string "#000" 条(前景)颜色,默认 #000。
Format string "code128" 条码制式:code39 / code128 / ean13 / ean8 / upca / itf(大小写不敏感,默认 code128)。
Height int 60 条纹高度(像素,默认 60)。
ModuleWidth double 2 窄模块宽度(像素,默认 2);决定条码整体横向尺寸。
Narrow int 2 仅对 ITF 生效:窄单元宽度(模块数,默认 2)。
QuietZone int 10 左右静区宽度(模块数,默认 10)。
ShowValue bool true 是否在条码下方显示人类可读的完整码值(含自动补的校验位)。
Value string null 要编码的内容(数据,不做本地化)。
Visible bool true 取得或设置组件是否可见,默认为false。
VisibleChanged EventCallback<bool> — 事件 取得或设置组件可见性变化时的回调事件。
Wide int 5 仅对 ITF 生效:宽单元宽度(模块数,默认 5,宽窄比建议 2–3)。
Class string null 取得或设置组件的CSS类名,用于自定义样式。
Disabled bool false 取得或设置组件是否禁用,默认为false。
Style string null 取得或设置组件的内联样式,用于自定义样式。

所有组件均继承 BaseComponent,除上表参数外还支持 Class、Style、Disabled、Visible。

微信公众号二维码 扫码关注公众号
QQ 交流群二维码 扫码加入 QQ 群