← All posts

2026-10-05

直接从 Google Sheets 自动打印标签

直接从 Google Sheets 自动打印标签
pdf labels barcodes label merge browser based graphical layout editor google sheets addin microsoft excel addon electronic shelf labels esl barcode3 labels label editor

直接从 Google Sheets 自动打印标签

你已经有了数据。它就在一张电子表格里——SKU、产品名称、条形码、价格、批次号——而且它是团队里每个人实际都在编辑的唯一事实来源。

然后总得有人把这些行导出成 CSV,打开标签设计器,重新导入数据,重新对齐每个字段,再打印这一批。一次又一次。每次价格变动或新 SKU 上线,都要重来一遍。

如果你想从 Google Sheets 自动打印标签,目标很简单:电子表格留在原地,标签从另一端出来。没有导出步骤,没有重新导入,没有字段对齐的往返。本文会带你走完一次性设置、流水线,以及让它可靠运行所需的故障处理。

为什么从 Google Sheets 手动打印标签浪费时间

这个重复性任务的形态永远是一样的:

  • 把相关行导出成 CSV。
  • 打开标签设计器,把文件作为数据源加载。
  • 重新把列映射到字段,因为导出顺序又变了。
  • 手动逐批打印,一次一个文件。

隐藏的成本不是每批那十分钟。而是任何数据变更——产品更新、价格变动、新 SKU——都会迫使你在产出哪怕一张标签之前走完一整套手动往返。你的电子表格是实时的;你的标签不是。

有两类人感受最深:

  • 构建内部工具的开发者,被要求“把打印接上就行”,最后却要维护一个脆弱的导出脚本。
  • 最终用户,在库存、发货和零售岗位上,只关心一件事:货架或纸箱上的标签和他们刚输入的数据一致。

自动化本该是什么样子:你编辑一行,你打印。电子表格是前端,标签系统是渲染器。

这正是 Next Generation Label Printing System(LPSNG)的用武之地——一个把 Google Sheets 变成标签打印前端的托管插件。

一次性设置:把 Google Sheets 连接到你的标签系统

设置只做一次。之后,打印就是点一下按钮。

1. 安装插件。 从 LPSNG 集成页面获取 Google Sheets 插件,并针对你的 LPSNG 账户授权。该插件列在平台的集成项中——与 Excel 接口、可复用侧边栏和字段脚本 API 并列。

2. 理解 OAuth2 注册。 LPSNG 使用简化的 OAuth2 注册协议来连接外部系统:一个 URL 就能把插件连接到你的 LPSNG 实例。无论你运行的是托管云版本还是自己硬件上的打印站,这个 URL 都是一样的。你注册一次;插件会获得一个令牌并为你刷新。你永远不需要把令牌粘贴到单元格里。

3. 准备表格。 一行一张标签。列标题要能干净地映射到标签字段:

表格列 标签字段
product_name 产品名称(文本块)
barcode 条形码符号(1D/2D)
price 价格文本
batch_no 批次 / 批号

保持表头行稳定。之后把 barcode 改名为 bar_code,是破坏一个正常设置最常见的方式。

4. 创建布局。 在 LPSNG 标签工作室中构建或导入一个标签布局,然后把表格列绑定到布局字段,让每一行恰好渲染成一张标签。条形码是原生处理的——LPSNG 支持多种 1D 和 2D 条形码格式,所以 barcode 列无需任何额外工具就能渲染成可扫描的符号。

5. 一次性选好输出目标。 PDF 下载、直接打印到已配置的打印机,或用于预览的 PNG。你可以把一批预览为 PDF,然后把同一布局发送到热敏打印机。

如果你还在挑选平台,面向系统集成商的标签设计软件采购指南更深入地介绍了评估标准。

自动化流水线:从编辑表格到打印标签

映射建立之后,有两种触发输出的方式。

按需。 打开插件侧边栏,选择你关心的行或范围,然后打印。这是单次重打或修正价格的日常路径。

带过滤器的批量。 对所有匹配过滤器的行运行——例如,辅助列中所有标记为 status = pending 的行。插件会把所选内容提交给 LPSNG Web 服务,后者用你保存的布局渲染每一行并将任务排队。

打印前的字段级逻辑

真实的表格很乱。日期以时间戳形式出现,校验位缺失,一半的产品名称需要尺寸后缀。与其在表格里清理一切,不如把 Python 脚本块附加到标签字段本身。字段脚本在打印前运行,可以读取并修改传入的值:

# 附加到 "price" 标签字段的示例字段脚本。
# 每个字段的形态都一样:接收传入值,
# 返回最终应出现在标签上的字符串。
def prepare(value):
    amount = float(value)
    return f"{amount:,.2f} EUR"

同样的机制可以处理日期格式化、把两列拼接成一个地址块,或从原始货号计算校验位。注意这是字段逻辑——它改变的是打印出来的内容,而绝不是表格中存储的内容。

作为对照的硬核做法

你可以跳过插件。Web 服务 API 接受带 OAuth2 令牌和原始 JSON 负载的任务——这正是插件发起的同一个调用。但那样的话,令牌刷新、重试逻辑、列映射,以及你自己脚本的每一次破坏性变更,都得由你负责。如果你特别想要那种级别的控制,Web 服务演练介绍了请求/响应模型。

托管方式是更短的那条路:编辑表格,点击打印,收取标签。插件替你完成 Web 服务调用。

监控任务与处理故障

打印是 I/O,而 I/O 会失败。重要的是你能看到哪些行失败了,并只重跑那些行。

  • 使用任务队列。 提交的打印任务会带着状态出现在 LPSNG 任务队列中,所以你可以把一个任务追溯回产生它的表格行。
  • 了解常见的罪魁祸首。 大多数失败是三种情况之一:某行必填字段为空、目标打印机离线,或某个布局字段不再映射到表格列(通常发生在列改名之后)。

把表格设计成重试成本很低的样子。加一个状态列,或用公式推导出来:

=IF(OR(B2="",C2=""),"BLOCKED","READY")

现在部分失败就是一个过滤器,而不是重打整批:修复该行,把它设回 READY,然后只打印 READY 的行。

对于更高量或无人值守的运行,LPSNG Player——独立的命令行打印引擎——接收一个包加一个数据文件,输出 PDF、PNG、JSON 或直接打印任务。每次调用的形态都一样:指向一个包,指向数据,告诉它输出什么。

# 包进,数据进,文件出。请查阅 Player 文档
# 了解你所用版本的确切标志名称。
lpsng-player \
  --package ./labels/retail-shelf.lpsng \
  --data ./exports/price-update.csv \
  --out ./out/labels.pdf

留意发布说明和 LPSNG 博客中影响任务提交行为的插件和 Web 服务变更——关于行为变化的问题会最先在那里得到解答。

可靠的表格驱动标签打印最佳实践

  • 把表格当作数据库。 表头稳定,一行一条记录,数据范围内没有合并单元格。合并单元格是“为什么第 47 行打印错了东西”的头号原因。
  • 打印前先验证。 用表格公式或 Python 字段脚本捕获空条形码或格式错误的值,而不是在物理标签上才发现。
  • 给布局做版本管理。 设计变更不应悄悄破坏现有的表格映射。保持绑定显式,并用实时行的样本测试布局。
  • 测试与生产分离。 用第二张表或一个过滤列,让实验远离打印机。
  • 在多用户团队中使用角色。 LPSNG 的企业功能——多用户、多区域、多设备——让你控制谁编辑布局、谁只能打印,从而彻底消除误编辑这一类故障。

常见问题

从 Google Sheets 自动打印标签需要写代码吗?

不需要。Next Generation Label Printing System 的 Google Sheets 插件替你处理连接和任务提交。你安装插件,通过 OAuth2 注册流程授权一次,把表格列映射到标签字段,然后打印。针对 Web 服务 API 编写自己的集成是可行的,但并非必需。

我可以打印到热敏打印机,还是只能输出 PDF?

LPSNG 可以把标签渲染为 PDF 或 PNG,也可以把任务发送到已配置的打印机进行直接打印。插件让你选择输出目标,所以你可以先预览为 PDF,然后用同一布局打印到热敏打印机。

如果我的表格有几百行会怎样?

插件会把这一批提交给 LPSNG Web 服务,后者把每一行渲染成一张标签并将任务排队。你可以在任务队列中监控进度。对于无人值守或极大量的运行,LPSNG Player 命令行引擎专为处理“包加数据”输入并输出 PDF、PNG、JSON 或直接打印而设计。

这在 Raspberry Pi 上的嵌入式版本上能用吗?

能。嵌入式版本在 Raspberry Pi 这样的单板计算机上运行完整的 LPSNG,连接 Google Sheets 插件使用的是同样的 OAuth2 注册和 Web 服务接口。这对于需要独立于云版本运行的打印站很有用。

结论

电子表格已经是你的产品数据库、价格表和发货清单。把它变成标签打印机只需要一次性连接:安装插件,授权一次,把列映射到字段,选择输出目标。之后,从 Google Sheets 自动打印标签就是点一下——而不是导出、导入再重新对齐。

下一步: 从集成页面安装 Google Sheets 插件,在标签工作室中构建一个布局,然后从一张五行测试表打印你的第一批表格驱动标签。

相关文章

EU label: AI-generated content