Skip to content

官方微信公众号

橄榄田径 • openyunzhi-info

openyunzhi-info
技术分享办公

批量生成标签

批量生成标签为您带来高效便捷的体验

2025/1/21

今天分享一个批量打印标签的软件。没别的意思,就是展示一下我们通过编写软件解决实际问题。

场景:

你是一名班主任老师,新生开学了,你要给新生分配宿舍床位,要在宿舍每一张床上贴上一个小标签,上面有床号、姓名、学号之类的信息,类似下图这个样子,方便学生到时候找到自己的床位。

如果是手写,工作量就很大了,分配床号、手写姓名、手写学号。所以今天我们写个小软件,只要准备好学生的信息,就可以批量生成标签的pdf文档,用打印机打印出来,就可以拿去贴了。

类似的场景,可能还有批量制作优惠券、批量制作考试考场安排标签、固定资产标签等等,都是一样的做法。

结果展示

先看一下结果,做出来的小标签就是下图这个样子的,一个班级的学生信息录入进去,滴一下,就生成了全部的小标签,用对应的标签纸打印出来直接贴上,效率提高了10倍还不止。

bed

标签纸的选择

标签纸有两种选择,根据实际需要选择:

  1. 选择纯白的不干胶贴纸,不进行分隔,使用时通过打印出来的框进行裁剪。下面简称纸张1。
  2. 选择带框的已经分隔好的不干胶贴纸,生成标签,内容刚好打印在框里面,直接取用。下面简称纸张2

split-paper

one-paper

操作过程

测量纸张尺寸

使用尺子测量纸张的尺寸,如果是纸张1,比如A4纸的尺寸是 210*297,如果是纸张2,测量纸张的宽高记录下来,单位毫米。

结果展示中的标签纸张是 120*90

测量或设置标签尺寸

  • 如果是纸张1,直接设置自己想要的尺寸。设置标签的横向、纵向间隔。单位毫米。

  • 如果是纸张2,使用尺子测量分隔的标签的尺寸,记录标签左上角原点的位置 x*y,记录标签纸的横向、纵向的间隔 x*y,单位毫米。

    结果展示中的标签纸张是 53*25,左上角原点位置 3*3, 横向、纵向间隔 3*3

代码中设置参数

txt
参数(mm):
纸张宽高:120, 90
标签宽高:53, 25
标签间隔:3, 3
标签原点:3, 3
一张纸上标签行列:3 行 2 列
一张纸上标签数量:6 张

工作中整理文件、材料可能会遇到需要大量的贴标签的情况。比如学校分配学生宿舍床位,要给每个床贴上标签。比如一个超市打印优惠券

准备数据

使用xlsx文件填写需要制作床位标签的数据。

data

修改代码设置单个标签的内容

修改绘制标签的关键代码。

ts
/**
 * 绘制标签内容
 * @param pdf pdf对象
 * @param label 标签尺寸
 * @param point 标签左上角位置
 * @param content 内容
 * @param radius 圆角半径
 * @param withBorder 是否要边框
 * @returns
 */
function drawOneLabel(pdf, label, point, content, radius, withBorder = true) {
    const { w, h } = label;
    const { x, y } = point;
    if (withBorder) {
        pdf.setLineWidth(1);
        pdf.setDrawColor("#0000FF");
        pdf.roundedRect(x, y, w, h, radius, radius).fill();
    }
    // 这块代码根据标签的内容进行修改,确定各字段的位置
    drawLeftText(pdf, label, point, content[0], 16, 5, 20);
    drawLeftText(pdf, label, point, content[1], 16, 5, 27);
    drawLeftText(pdf, label, point, content[2], 16, 5, 34);
    drawLeftText(pdf, label, point, content[3], 16, 5, 41);
    drawLeftText(pdf, label, point, content[4], 16, 5, 48);
    return pdf;
}

运行

参数、数据源、标签设计都完成后,就可以批量运行了,一秒钟就可以生成几百个床位标签。

bed

与此场景类似的还有:

  • 固定资产卡
  • 考场座位标签
  • 购物券
  • 停车票

asset

exam

联系我们

关注 橄榄田径 公众号获取最新教程

qrcode

添加 15987804306 客服获取帮助

qrcode