什么是模板ID?如何获取。

模板ID是在本平台编辑模板后生成的唯一标识,通过模板ID可以访问,编辑制定的模板。

在共享模板或用户中心我的模板中,可以查看模板的ID。

模板ID

什么是模板变量?规则是什么?

详见如何实现可变数据打印

模板变量名支持中文吗?

支持。

如何实现可变数据打印 {#TP-VAR-PRINT}?

打印精灵支持强大的可变数据打印功能. 设计模板时, 可以指定占位符(称为:模板变量), 打印时模板变量将自动替换为实际值, 同一个标签模板可以打印不同的内容, 实现可变数据打印.

无论是使用SpiritLabel, 还是API方式打印标签, 使用模板的设计方式均相同.

例子 如果一个TEXT字段, 内容为: [姓名name, 地址:addr], 用了两个变量name, addr

以JS API方式为例, 打印时,PrintLabel的第二个参数为变量列表,会自动替换对应的模板变量,

 PrintLabel(labelID, {name:"张三", addr:"四川成都"});

那么实际打印内容将是: [姓名:张山 地址:四川成都]

模板变量也可以是结构化的数据,如:receiver.namereceiver.addr等等,receiver包含了多个字段。

 PrintLabel(labelID, { 
   receiver: { name:"张三", addr:"四川成都"}
 });

支持可变数据的元素包括: 文字,多行文字,一维条码,二维条码, 每个元素可以包含任意数量的变量. 创建模板时, 操作步骤如下.

  1. 选中元素 (文字,多行文字,一维条码,二维条码)
  2. 双击元素或在工具栏点击文字编辑 打开文字编辑对话框.
可变数据编辑
  1. 在文字编辑框里, 可以输入文字和模板变量(数量任意). 模板变量包括预定义变量, 自增序列, 自定义变量三类.
    • 预定义变量, 打印精灵内置的常用变量,如日期, 时间等.
    • 自增序列, 该值在每次打印一张标签后自动增加.可以指定前导符,位数,增量(步长)
    • 自定义变量, 每个自定义变量名称可以是字母数字,也可以是中文; 自定义变量的示例值仅在模板编辑时显示, 打印会自动替换为变量的实际值.

打印精灵支持哪些种类的条码?

支持:Code128, GS1-128,39码,25码,Codebar, EAN-13, EAN-8, UPC-A, UPC-E, 等主流一维条码,以及QRcode, PDF417, DataMatrix, GS-DataMatrix等二位条码。

如何利用自增变量打印类似: 批次号 + 流水号 + 零件号的条码. 其中批次号为6位日期 + 2位流水号, 流水号每个打印一张变动, 零件号固定, 但是需要18为后补0.

打印精灵提供灵活的工具可以实现上述目标, 有个若干种实现方式, 最灵活且方便的是利用利用打印精灵内置的JS脚本, 如下:

let batch  = formatDate(null, 'YYMMDD') + padStart(get('批次序号', 0),2)
let serial = getSerial('序号', '00001')
let partNo = padEnd(get('零件号', 'ABC'), 18, 0)
return `${batch}${serial}${partNo}`

二维码支持中文吗?

支持。打印精灵的QRcode, DataMatrix二维码均支持中文。编码时,会自动根据是否有中文,选择最高效的编码模式。

如何打印带图标的QRcode二维码?

在标签设计器中, 选择需要添加图标的二维码, 点击工具栏的添加图标添加图片按钮, 俺提示操作, 即可在中心二维码的中心田间图表.

如何打印GS1条码?如何处理DataMatrix, 128码的FNC1控制符?

打印精灵提供了非常智能的GS1条码处理功能, 对于Datamatrix二维码, 128条码, 只需选择正确的码型(GS1-128, GS1-DataMatrix), 无需显式输入控制符号, 只需按录入条码内容如:(02)00614141000418(15)240901(10)4512XA(37)20,打印精灵可以自动插入FNC1控制符(GS1标识),自动处理应用标识AI, 自动处理固定长度及变长字段, 在变长字段自动添加分割符, 满足国际贸易, 物流, 医疗器械等领域条码合规要求。

同时, 为了进一步的处理各种复杂的条码, 打印精灵提供了GS1条码操作的JS脚本库, 可以更精确的控制条码内容, 详见:打印精灵GS1 JavaScript 库使用手册


如何打印图标/图像?

支持。打印精灵支持两种方式的图像。自定义图片和ICON。 自定义图片在编辑其中上传支持任意图像格式。ICON为SVG格式,支持无级缩放。

如何将标签批量导出为矢量PDF文件, XPS文件, 图片ZIP包

三种导出模式的操作基本相同, 步骤如下:

1. 选择正确的打印机,

打印机 输出 
Microsoft Print to PDF 输出PDF文件 
Microsoft XPS Document Writer 输出XPS文件 
Spirit Image - ZIP Archived 输出图片压缩包ZIP

和一般打印程序相同,请用 Open() 获取打虚拟印机操作对象,以便进行后面的操作。

2. 执行打印

使用 PrintLabel(label_id, vars) 打印, vars可以是数组一次处理多个标签. 也可以是普通数据, 一次处理一个标签, 建议使用后一种模式, 方便显示进度条.

不管用那种模式, 最后都只会生成一个PDF/XPS/ZIP文件, 并可通过第三步获取

3. 获取打印结果

务必使用 closeWait()函数关闭打印机. 与一般的close()函数不同, closeWait()可以获取打印机结果url, 通过该URL下载生成的PDF/XPS或ZIP文件. 这是和标准打印最大不同的地方.

完整的示例程序如下:

 1    var prn;
 2    var download_url;
 3    
 4    // Open A PDF virtural Printer
 5    try {
 6        prn = await SPIRIT.open({type:"WIN", name:"Microsoft Print to PDF"})
 7    }catch(e) {
 8        alert(e)
 9        return;
10    }
11    
12    // 循环打印
13    for (vars of label_data) {
14        try {
15            await prn.PrintLabel("953745b5-90f3-4852-805d-d11f994d2374", vars);
16            //更新进度条
17        }catch(e){
18            alert(e)
19            prn.close()
20            return;
21        }    
22    }
23    
24    // 关闭打印机并获取PDF url
25    try {
26        let rc = await prn.closeWait();
27        if (rc.rc==="DATA") {
28           download_url = rc.data
29        }
30    }catch(e){
31        alert(e)
32        return;
33    }
34    
35    // download 生成的PDF文件。
36    // 比如: windows.location.href=download_url
37    ...

能用企业私有字体设计打印标签吗?

能。 请参看:如何在打印精灵中使用自定义字体,打印精美标签


留言

登录