设计器与工具
在线设计器
在浏览器里拖拽设计打印模板:元素、画布操作、数据绑定、图片大小限制与 JSON 导入导出。
最后更新
PrintLink 门户内置在线模板设计器(/design/new):拖拽排版、 绑定数据占位符,导出的模板可以直接交给 SDK 打印,不用写代码。
元素与画布
- 元素库:文本、图片、二维码、条码、线条、矩形、表格与重复区块。
文本和编码类元素支持
{{占位符}}。 - 画布:拖拽、缩放、对齐吸附,完整的撤销/重做。
- 右键菜单:复制 / 剪切 / 粘贴 / 创建副本 / 删除,以及上移一层 / 下移一层 / 置顶 / 置底。
- 属性面板分「布局 | 外观 | 数据」三个页签,各管一摊。
- 取色器:预设色板 + 自定义 Hex + 系统取色器。
- 跟随门户的浅色 / 深色主题。
JSON 导入导出
工具栏的 JSON 菜单把模板的进出都留在浏览器里:
| 操作 | 说明 |
|---|---|
| 查看 | 格式化并高亮的 JSON 视图 |
| 复制 | 模板 JSON 复制到剪贴板 |
| 下载 | 导出 .json 文件 |
| 粘贴导入 | 粘贴 JSON 文本导入,完整模板包或裸工程都能识别 |
| 文件导入 | 从本地选择文件导入 |
导入前会做结构校验,无效 JSON 会明确报错,不会破坏当前工程。
数据与图片
占位符:在元素内容里写 {{orderNo}}、{{order.customer.name}},
只做纯路径取值,不做表达式计算。
图片大小上限:
| 状态 | 单张上限 | 存放位置 |
|---|---|---|
| 未登录 | 512 KB | 浏览器本地 |
| 已登录 | 2 MB | 服务端 |
图片以 base64 内嵌进模板 JSON(渲染器只接受内嵌图片,不下载远程地址)。 超限的图片不会被写入模板,属性面板会就地提示。
公开发布时的隐私
包含内嵌图片的模板公开发布后,其他访客看到的(详情页、下载的模板包、 「保存到我的模板」、公开缩略图)都是统一的灰色占位图。原图只有你本人和 审核管理员可见。 发布前设计器会弹窗说明这一点。
拿模板去打印
设计器导出的模板可以:
- 存进模板中心供团队复用;
- 在业务代码里加载后打印:
import { HttpTemplateClient } from '@printlink/template-sdk';
const detail = await new HttpTemplateClient({ baseUrl }).get('tpl_dispatch_note');
await client
.compose({ queueId })
.paper('100x150')
.addDocument(detail.project).data(order)
.preview();同一模板 × N 份数据 = 一条任务的 N 页:
const job = client.compose({ queueId }).paper('100x150');
for (const order of orders) job.addDocument(project).data(order);
await job.printAndWait();