28
集成概述 将数据从其他程序导入 BarTender 并对 BarTender 进行控制 The World's Leading Software for Label, Barcode, RFID & Card Printing White Paper

The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

集成概述 将数据从其他程序导入 BarTender 并对 BarTender 进行控制

The World's Leading Software for Label, Barcode, RFID & Card Printing

White Paper

Page 2: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

页 2

目录

简介 ................................................................................................ 4

选择所需的标签数据 ....................................................................... 4

外部数据的 BarTender 查询 ..................................................................... 5

支持任意数据库关系 ........................................................................... 5

查询方法 ............................................................................................. 5

外部查询(导出数据) .............................................................................. 6

直接连接到外部查询 ........................................................................... 6

在 BarTender 内外部进行查询的对比 ...................................................... 6

数据导入方法 ................................................................................. 7

BarTender 自带的导入方法 ...................................................................... 7

OLE DB 和 ODBC .............................................................................. 8

导入链接式图形和嵌入式图形 ............................................................. 8

外部控制的导入方法 ................................................................................. 8

使用 .NET SDK 或 ActiveX Automation 以编程的方式传输数据 ......... 9

使用 Commander 从 Oracle、SAP 和 IBM WebSphere 等 ERP

系统传输数据 ...................................................................................... 9

控制 BarTender ........................................................................... 10

.NET SDK 或 ActiveX Automation (COM) ............................................ 10

支持的集成功能 ................................................................................ 11

使用 XML 控制 BarTender ................................................................ 11

掌握打印作业状态 ............................................................................. 11

编程环境要求 .................................................................................... 11

更多信息 ........................................................................................... 12

命令行界面控制 ....................................................................................... 12

更多信息 ........................................................................................... 13

使用 Commander™ 控制 BarTender ...................................................... 13

Commander 工作原理 ...................................................................... 14

何时使用 Commander ...................................................................... 14

Page 3: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

页 3

自带预建集成,随时可用 .................................................................. 15

Commander 触发器事件概述 ............................................................ 15

在触发器数据中加入命令 .................................................................. 16

使用 XSL 转换功能将 XML 转换为 BTXML ....................................... 16

掌握打印作业状态 ............................................................................. 17

高作业量打印环境 ............................................................................. 17

更多信息 ........................................................................................... 17

警告和日志记录 ............................................................................ 17

警告有利于减少停机时间 ........................................................................ 18

BarTender 警告 ................................................................................ 18

Commander 警告 ............................................................................. 18

Printer Maestro 警告 ......................................................................... 18

记录打印作业和事件有助于验证打印作业 ............................................... 19

自动运行 BarTender 时记录日志的重要意义 .................................... 19

BarTender 系统数据库...................................................................... 19

三种信息记录类型 ............................................................................. 19

轻松查看日志 .................................................................................... 20

以编程的方式从系统数据库检索数据 ................................................ 21

将日志记录到文本文件...................................................................... 21

更多信息 ........................................................................................... 21

使用打印机代码模板 ..................................................................... 21

了解打印机代码模板 ............................................................................... 22

使用打印机代码模板打印 ........................................................................ 22

打印机代码模板面临的技术挑战 .............................................................. 24

更多信息 ........................................................................................... 27

结语 .............................................................................................. 27

Page 4: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 4

简介

标签打印通常是大规模软件流程(并非仅限于 BarTender)必不可少的一个环节。例如,用于制造、库存、运输、记帐以及其他各种供应链管理功能的软件应用程序,通常都要依赖标签,才能让重要的跟踪和识别流程发挥作用。这就是为什么

BarTender 的众多强大功能,都是专为与其他软件集成而设计的。

当前流行的集成方法有很多种,简单的包括利用 BarTender 从外部数据库读取标签数据,高级的包括利用我们的 .NET SDK 从其他程序以编程的方式对 BarTender 实施控制。您还可以使用各种不同的方法启动打印作业,此类方法包括创建简单数据文件、发送电子邮件或传输 TCP/IP 消息。

选择所需的标签数据

将 BarTender 与其他软件集成时,绝大多数情况下,您的目的都是为了从外部数据库选择数据,然后将其导入 BarTender 并打印在标签上。只有当您希望将数据库中的每个项目都打印在标签上时,才有必要让 BarTender 读取数据库系统中的每一条记录。否则,通常您只需要将一条记录或一部分记录从数据库导入

BarTender 即可。在此过程中存在两个最基本的问题:

• 如何选择要打印的数据库记录。

• 如何将标签数据导入 BarTender。

在本章中,我们假设 BarTender 将从 LAN 或 WAN 上可供访问的位置提取所需的标签数据。但是,在有些其他情况下,运行 BarTender 的 Windows 计算机可能无法直接访问您的数据库。此时,您必须将数据导出为一种中间格式,以供 BarTender

后续使用。这种情况将在后续“ 使用 Commander™ 控制 BarTender ” 一章中进行探讨。

以下章节将对两种常规的打印数据记录选择方法进行比较:

• 外部数据的 BarTender 查询

• 外部查询(导出/不导出数据)

Page 5: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 5

外部数据的 BarTender 查询 BarTender 可以直接连接到多种外部数据库和电子数据表。BarTender 甚至还支持“ 合并” 来自运行在多个操作系统平台上的多个数据库的多个数据表。

支持任意数据库关系

BarTender 允许您同时访问位于不同计算机上的多个数据表和多种数据格式。例如:

• 在 LINUX 服务器上运行的 Oracle 数据库数据表。

• Windows 服务器上的 SQL 数据表。

• 本地 PC 上的 Access、Excel 或其他

Windows 数据表。

• 移动 PC 上的简单文本文件。

• 以及其他格式的数据。

查询方法

在所需的记录选择方面,BarTender 支持的查询方法包括:

• 简单搜索 – 搜索匹配的字段值(例如:日期、部件号、产品类别等)。

• 复杂“ 示例查询 ” – 搜索多个数据表中的一个项目或多个字段(根据需要可使用“ AND” 和“ OR” 组合搜索多个字段)。

• 定制 SQL 表达式 – 从头创建您自己的 SQL,或者使用 Seagull“ 查询对话框” 生成的 SQL。

• 选择表(从列表中选择)– 手动选择想要的数据库记录。

• 记录范围 – 指定要打印的记录的数字范围。

对于前三种方法,BarTender 搜索的值可以是静态值、打印提示对话框中的输入值,或是由控制 BarTender 的外部程序所提供的值。在使用其他程序控制

BarTender 的集成项目中,“ 选择表” 和“ 记录范围” 方法并不常用。

我们的数据库设置管理器和向导可以让您轻松定义链接、进行适当的合并设置、查询合并后的数据库并输出标签。

Page 6: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 6

您可以在“ 查询” 界面中轻松定义复杂的搜索。

外部查询(导出数据) 您不必从 BarTender 查询标签数据。而是可以使用:

• 其他软件自带的报表工具。

• 第三方“ 数据挖掘” 工具。

无论采取哪种方法,接下来通常都必须使用以下某种数据传输方法:

• 将查询结果导出或“ 转储” 到一个“ 中间文件” 内,以便稍后供

Commander 或 BarTender 导入使用。

• 使用 TCP/IP 将数据直接传递给 Commander。

• 使用 .NET SDK 或 ActiveX Automation 以编程的方式传输数据(单击可跳转到下文中的此章)。

直接连接到外部查询

您可以在 BarTender 外部进行查询,而不需要创建中间文件,一种方法是在

Microsoft Access 中设计一个“ 选择” 查询,以便从数据库中提取所需的数据。Access 在显示选择查询的输出结果时,将其视为数据表,因此 BarTender 可以直接导入这些数据,就像是从数据表中读取数据一样。

在 BarTender 内外部进行查询的对比 当您在 BarTender 中执行查询时,如果遇到数据挖掘问题,Seagull 技术支持无疑将是您坚强的后盾。当然,如果选择使用外部查询工具,也并无不妥之处。由于很难预判哪种方法速度更快,我们建议您先采用最熟悉的方法。

一个关键点是,如果从运行 BarTender 的 Windows 计算机中无法直接访问数据库平台,您的选择余地将会大大减少。此时,您必须以一种中间格式导出数据并进行

Page 7: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 7

传输,以便供 BarTender 后续使用。如本文“ 使用 Commander™ 控制

BarTender ” 一节所述,BarTender 的两个自动化版本所附带的 Commander 实用程序可以在检测到此类数据到达时,自动启动 BarTender 标签作业。

数据导入方法

无论是从 BarTender 内部还是外部查询标签数据,与 BarTender 的数据兼容性都是一个重要考量因素。

BarTender 自带的导入方法 BarTender 支持众多的数据格式,如果软件系统以其中一种格式存储数据,或者可以以其中一种格式生成数据,那么 BarTender 就可以在无需特殊编程或定制处理的情况下,读取标签数据。

BarTender 支持各种数据源,既包括简单的文本文件,也包括在多个操作平台上运行的多个数据库。其中包括:

• 直接读取分隔文本。(更多信息,请参阅 BarTender 联机帮助系统中的“ 文本文件” 主题)。

• 使用 OLE DB 和 ODBC 读取外部数据库。

Page 8: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 8

从各种预配置的数据连接中进行选择,或者配置 OLE DB 或 ODBC 驱动程序。

OLE DB 和 ODBC

BarTender 支持微软的 ODBC 和 OLE DB 数据库驱动程序标准,因而几乎可以从所有主流的数据库平台(包括 Access、Excel、MS SQL Server、Oracle 数据库、MySQL 等)直接读取标签数据。如果 BarTender 或 Windows 都没有附带您所需要的驱动程序,那么数据库平台的提供商通常会提供类似的驱动程序。

更多信息 请参阅 BarTender 联机帮助系统中的“ 了解 OLE DB” 和“ 了解 ODBC” 主题。

导入链接式图形和嵌入式图形

对于在每个标签上不断变化的图形,您可以读取嵌入数据库的图形,或者只读取外部图形的参考链接。

外部控制的导入方法 有时候,外部数据库使用专有存储格式(OLE DB 或 ODBC 不支持),或者存储所在的网络位置无法由 BarTender 进行。或者,您可能有其他的原因,需要从

Page 9: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 9

BarTender 外部查询标签数据(请参阅“ 外部查询(导出数据)” )并将其导出,以便供 BarTender 使用。受支持的方法包括:

• 使用 Seagull 的 .NET SDK 或 ActiveX Automation,通过编程的方式将数据传输到 BarTender 中。(包括传输 XML。)

• 使用 Seagull 的 Commander 中间件实用程序,将事务数据从各种 ERP 系统传输到 BarTender 中。(支持 SAP、Oracle WMS/MSCA 等应用程序。)

使用 .NET SDK 或 ActiveX Automation 以编程的方式传输数据

如后续“ 控制 BarTender ” 一章中所述,Seagull 的 .NET SDK(软件开发工具)以及对 ActiveX Automation 的支持,可以让您在自己的应用程序中编写代码,以启动和控制 BarTender 打印作业。另外,这些工具支持的一些命令可以让您为

BarTender 中的指定子字符串分配值,从而让您能够以编程方式填充标签所需的数据,然后进行打印作业。您还可以使用 BarTender XML 脚本 (BTXML) 指定多条标签数据记录。

更多信息 请参阅:

• 白皮书“ BarTender 的 .NET SDK ”

• 白皮书“ BarTender 的 ActiveX Automation 界面 ”

• BarTender 联机帮助中的“ 自动运行 BarTender” 主题

使用 Commander 从 Oracle、SAP 和 IBM WebSphere 等 ERP 系统传输数据

主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过特别设计,都是为了方便与其他软件应用程序的集成。BarTender 可以读取 Oracle、SAP 和 IBM WebSphere 应用程序提供的多种格式,其中包括:

• Oracle XML 打印请求

• IBM WebSphere Sensor Events 打印请求

• SAP AII XML

• SAPscript 生成的固定宽度文本文件

• SAP IDocs

Page 10: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 10

更多信息 请参阅下列白皮书:

• 与 Oracle WMS/MSCA 集成

• 与 IBM WebSphere Sensor Events 集成

• 与 SAP 集成

控制 BarTender

前面的章节讨论了如何将数据导入 BarTender。现在我们需要了解如何通过使用其他软件(包括非 Windows 系统)控制 BarTender 来实现集成。根据您的需要以及数据库平台,您可以使用以下三种方法的其中一种:

• .NET SDK 或 ActiveX Automation

• 命令行界面

• Commander™ 集成实用程序

集成完成后,您的用户甚至不会知道他们实际是使用 BarTender 在打印标签。

.NET SDK 或 ActiveX Automation (COM) ActiveX Automation(也称之为 COM)是非常著名的微软标准,通过这个标准,一个 Windows 程序可以实现对另外一个程序的控制。自从上世纪九十年代中期以来,BarTender 就可以使用 ActiveX Automation 进行控制,以后仍将如此。但是,熟悉 .NET 语言(C# 和 VB.NET)的开发人员可以使用 Seagull 的 .NET 软件开发工具,从而更轻松地开发能够控制 BarTender 的应用程序。这些 SDK 是经过预写并调试的代码库,专为控制 BarTender 而设计,其中包括加载标签格式和启动打印作业。

若要从其他程序全面控制 BarTender,使用 SDK 或 ActiveX Automation 进行集成是比较理想的方式,相比下一节说明的“ 命令行界面” 方法,功能更强大,灵活性也更高。(只有 BarTender 的自动化版本才支持 ActiveX Automation 和 SDK。)

Page 11: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 11

支持的集成功能

使用 SDK 和 ActiveX Automation 的程序通过调用方法(功能)以及在 BarTender

中读写各种属性(数据值)来实现集成功能。例如,您可以:

• 加载和关闭 BarTender

• 打开标签格式

• 修改标签格式中的对象

• 提供要打印的数据

• 启动打印作业

• 请求打印作业的状态

• 请求重新打印作业

• 管理 Librarian 中存储的文件

• 从系统数据库查询数据

使用 XML 控制 BarTender

使用 ActiveX 或 BarTender SDK 时,一次只能将一个命令发送到 BarTender,但这些工具还可以一次向 BarTender 提交多个命令,方法是将这些命令放在一个

XML 格式的消息中。

要详细了解 BarTender 支持的 XML 格式(称为 BTXML),请参阅:

• 白皮书“ BarTender 的 .NET SDK ”

• BarTender 联机帮助中的“ 自动运行 BarTender XML 脚本 ” 主题

(只有 BarTender 的企业自动化版本才支持使用 BTXML。)

掌握打印作业状态

使用 BTXML 控制 BarTender 时,应用程序可以选择从 BarTender 回接打印作业状态信息(包含在 XML 响应中)。或者,您可以使用 BarTender 系统数据库

SDK(众多 BarTender .NET SDK 当中的一个)检索打印作业的最终状态。

编程环境要求

要使用 .NET SDK,您必须使用以下其中一种 .NET 语言:

• C# • VB.NET

Page 12: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 12

要访问 BarTender 的 ActiveX Automation 界面,您必须使用支持 ActiveX

Automation 的编程或脚本编写环境。多数标准的 Windows 开发工具都提供此功能,其中包括:

• Visual Basic、VBA (Visual Basic for Applications)

• VBScript • Java Script (JScript)

• Visual C++(以及适用于 Windows 的其他 C 语言版本)

• Power Builder

• Access、Word、Excel 或任何支持 VBA 的应用程序

• Delphi • Windows Scripting Host (WSH)

更多信息

请参阅:

• BarTender 联机帮助中的“ 自动运行 BarTender ” 主题

• 白皮书“ BarTender 的 .NET SDK ”

• 白皮书“ BarTender 的 ActiveX Automation 界面 ”

命令行界面控制 BarTender 的命令行界面提供用于控制 BarTender 的最基本功能集。这个界面主要适用于指定使用哪种标签格式和哪些外部文本文件来进行打印作业。但是,它几乎不再支持其他控制。(支持命令行需要使用自动化版本或更高版本。)

使用命令行可以:

• 加载和关闭 BarTender

• 选择和更改标签格式

• 指定每个标签的打印份数

• 启动打印作业

• 选择和更改外部数据源

• 指定发送打印输出的目标打印文件(如果是打印到一个文件而不是打印机)

• 选择和更改打印机

• 提交 BarTender XML 脚本(需要使用企业自动化版)

Page 13: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 13

要使用命令行运行 BarTender,您的控制应用程序必须提供一个“ run program ”命令功能或类似选项。此功能的常见术语包括:

• Run(运行)

• Runprogram(运行程序)

• Execute(执行)

• Shell

• Command(命令)

• Open(打开)

这种方法的常见变通形式为创建一个“ 批处理 ” 文件,其中包含要使用的

BarTender 命令行,然后让您的程序运行该批处理文件。下面即为一个从批处理文件运行 BarTender 命令行的示例:

bartend.exe /AF=Address.btw /D=Customers.dat /P

更多信息

有关 BarTender 命令行界面的完整说明文档,请参阅 BarTender 帮助中的“ 自动运行 BarTender,使用命令行界面实现自动化 ” 主题。

使用 Commander™ 控制 BarTender BarTender 的两个自动化版本所附带的 Commander 实用程序是一个可以作为应用程序或服务运行的“ 后台” 应用程序。Commander 使用 ActiveX Automation 帮助您控制 BarTender,但您(以及您的控制应用程序)完全不必担心 ActiveX 带来的问题。.

相反,您的程序可以生成“ 触发器” 事件,例如,向文件写入数据,或向 TCP/IP 端口发送消息。Commander 和 BarTender 并不在意触发器的来源。得益于此,BarTender 可以更方便地与您网络上的非 Windows 系统集成,而这些系统是您的

Windows 应用程序所无法直接访问的。

Page 14: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 14

Commander 允许您将 BarTender 与 Windows 和非 Windows 应用程序集成,而无需编写代码。

Commander 工作原理

Commander 的工作是等待并检测来自其他软件应用程序的特定“ 触发器” 。检测到触发器之后,Commander 会立即响应,执行一项或多项用户定义的操作,启动

BarTender 打印作业就是一项常见的操作。

借助 Commander,BarTender 几乎可以与任何系统(Linux/UNIX、AS/400、AIX 等等)生成的数据集成,而无须额外的编程。

何时使用 Commander

Commander 特别适合以下情况:

• 您不知道如何从控制程序或环境发出命令行或 ActiveX Automation 命令(甚至根本无法发出命令)。

• 您没有访问其他程序源代码的权限。

Page 15: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 15

• 您使用的是非 Windows 平台,例如 Linux、UNIX、AIX 或 AS/400,无法直接访问运行 BarTender 的 Windows 系统。

• 您的控制程序与 BarTender 不在同一个网络上。

实际运用过程中会遇到如下情况:

• 您的控制应用程序位于其他国家/地区,因此需要利用电子邮件通过互联网来传输标签数据和打印作业请求。

• 您使用的大型机或 Linux 应用程序根本不具有 ActiveX 命令功能。

自带预建集成,随时可用

正如本章后文的总结,您可以轻松创建能够完成以下工作、完全定制的

Commander 集成:

• 接收和响应各种类型的触发器

• 解析和提取控制 Commander 和 BarTender 的命令

• 提取和修改要打印的标签数据

但是,您不必从头创建这些集成,因为 Commander 自带了针对以下软件的内置集成:

• Oracle WMS • Oracle MSCA • SAP AII • IBM WebSphere Sensor Events

Commander 触发器事件概述

Commander 支持的可用触发器类型包括:

• 创建数据文件

• 接收电子邮件

• 通过 TCP/IP 套接字接收数据

根据集成需要,所使用的触发器不一定包含有用的数据。

Page 16: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 16

“ 空” 触发器 如果触发器中没有包含任何标签数据,它们的作用将仅限于“ 唤醒” 并调用

Commander 开始处理一个或多个用户定义的命令。这时,要打印在标签上的数据需要使用 BarTender 常用的某种数据导入方法来读取。

包含标签数据的触发器 与上述相反,这时的触发器文件和消息中可能包含实际要打印的标签数据。

在触发器数据中加入命令

来自控制应用程序的触发器不仅仅可以包含标签数据,还可以嵌入既定用于控制

Commander、BarTender 或二者的命令。

Commander 脚本 Commander 脚本是一种文本型的命令语言,用于向 Commander 提交要执行的指令。控制应用程序可以在不同的触发器中加入不同的 Commander 脚本命令,从而根据要执行的操作,向 Commander 发出不同的指令。Commander 脚本包括控制 BarTender 行为的命令,以及使用命令行参数运行其他应用程序的命令。

BarTender XML 脚本 (BTXML) 使用 XML 控制 BarTender 的方法有多种。让控制应用程序在 Commander

检测的触发器中加入 XML,就是其中的一种。而 Commander 会将 XML 转换为 BTXML(如果需要)并将其转发给 BarTender 进行处理。

使用 XSL 转换功能将 XML 转换为 BTXML

大多数 ERP 软件包都内置了能够生成 XML 的标准功能。这也是为什么使用 XML

可以方便地让控制应用程序将命令发送给 BarTender。但是,在此过程中也存在一个难题,您的软件生成的默认 XML 可能并不兼容 BarTender 支持的 BTXML 格式。为了解决这个问题,您需要放弃使用 ERP 应用程序生成定制的 XML,而应生成默认格式的 XML,然后创建一个 XSL 转换文档,供 Commander 使用。Commander 可以使用 XSL(用于可扩展样式表语言)自动将您提供的 XML 转换为 BTXML。

要详细了解 XSL 样式表,请参阅:

Page 17: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 17

• BarTender 联机帮助中的“ 与 Oracle 集成” 主题

• 与 Oracle WMS/MSCA 集成

• BarTender 9.2 新增功能

(只有 BarTender 的企业自动化版本才支持 BTXML 和 XSL。)

掌握打印作业状态

使用 BTXML 控制 BarTender 时,应用程序可以选择从 BarTender 回接打印作业状态信息(包含在 XML 响应中)。

高作业量打印环境

如果在很短的时间内收到多个触发器,Commander 会将这些触发器排队并按照接收顺序进行处理。因此,希望打印吞吐量越高越好的用户应考虑使用企业自动化版。此版本支持启动 BarTender 的多个并发实例,因此可以同时处理多个触发器,从而大大提高系统的整体标签吞吐量。与之相反,自动化版一次只能控制一个 BarTender 实例。因此,无论在等待处理的触发器有多少,一次只能处理一个触发器。如果您的环境中需要向 Commander 发送大量触发器,这种局限性会造成整体吞吐量下降、响应时间延迟。

更多信息

请参阅:

• Commander 的联机帮助系统

• 白皮书“ Commander ”

• 白皮书“ Commander 示例 ”

警告和日志记录

如前所述,控制 BarTender 的程序可以使用代码从 BarTender 选择请求打印作业状态信息、从 Commander 间接接收状态,或者使用 .NET SDK 查询之前记录到

BarTener 系统数据库的状态信息。但实际上,检索 BarTender 状态信息完全不需要使用代码。BarTender、Commander 和 Printer Maestro 都可以针对所选的事件,主动向您广播电子邮件警告。各种打印作业、状态和事件信息也可以记录到

SQL 数据库供日后查阅。

Page 18: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 18

警告有利于减少停机时间 在企业环境中管理标签生成时,如果重要组件发生故障、纸张不足或者软件发生了错误,您一定想要尽快得到警告。为了满足用户的类似需求,BarTender、Commander 和 Printer Maestro 全都可以发送定制警告消息。

BarTender 警告

BarTender 的两个自动化版本都可以加以配置,针对各种事件、警告和错误,向您发送通知性的电子邮件。例如:

• 请求的打印作业

• 无法访问数据库

• 打印机不可用

• 打印作业失败

Commander 警告

BarTender 的两个自动化版本自带的 Commander 配套应用程序也可以通过电子邮件发送警告。例如:

• 触发器检测启动/停止

• 访问触发器文件出错

• XML 解析错误

Printer Maestro 警告

BarTender 的两个自动化版本自带的Printer Maestro 配套应用程序可以通过即时消息 (IM)、文本消息 (SMS) 和电子邮件发送警告。例如:

• 打印机脱机

• 计算机脱机

• 纸张不足或缺纸

• 碳带量不足或耗尽

• 与具体打印机型号相关的错误消息,例如:打印头问题。

Page 19: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 19

如需有关 Printer Maestro 和警告的更多信息,请参阅白皮书“ Printer Maestro ”(仅英文版)。

• http://www.seagullscientific.com/docs/whitepapers/Enterprise-Print-Management(Chinese-Simplified).pdf

• Printer Maestro 联机帮助系统

记录打印作业和事件有助于验证打印作业 为支持安全性审核并确保自动打印任务成功完成,BarTender 自动化版和 Printer

Maestro 提供了极其详尽的日志记录功能,可将重要的打印作业信息和应用程序事件记录到“ BarTender 系统数据库” 中。(如果安装了 BarTender 的企业自动化版,Printer Maestro 可以记录来自任意 Windows 应用程序的打印机和打印事件,而不仅仅是来自 BarTender 的。)

自动运行 BarTender 时记录日志的重要意义

当坐在计算机前面手动使用 BarTender 执行标签打印作业,特定情况下您可能会看到重要的警告或错误消息。但是,如果是通过其他软件控制 BarTender,那么

BarTender 的运行是“ 隐形” 的,因此不会显示任何类似消息。因此,如果想要了解潜在的问题,您只能选择实时“ 警告” (如上所述)和日志记录(允许您在打印完成后,查阅和确认打印作业)。

BarTender 系统数据库

启用日志记录时,BarTender 和 Printer Maestro 可以将各种信息存储到

BarTender 系统数据库。此数据库可以在免费 SQL Server Express Edition(随附于 BarTender)内创建,也可以在完整安装的 SQL Server 内创建(如果您有的话)。

三种信息记录类型

BarTender 和 Printer Maestro 可以在 BarTender 系统数据库中记录三种类型的信息:

• 打印作业信息:

o 名称,甚至可以记录一份标签格式(即 BTW 文件)

o 计算机和用户名

有关打印机状态的详细信息以及 BarTender 打印设置

Page 20: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 20

• 标签数据和标签图像:允许轻松重新打印损坏的标签以及快速应对安全性审核。

• 应用程序事件消息:检查打印作业期间可能遇到的错误和警告,对于调试其他软件和 BarTender 之间的集成特别有帮助。

轻松查看日志

使用以下工具可以非常轻松地对记录的信息进行搜索、添加格式、检索和查看:

• 历史记录浏览器

• 重印控制台

历史记录浏览器可以让您轻松浏览过往打印作业并定制数据的视图。

如需详细了解历史记录浏览器和重印控制台,请参阅:

• 白皮书“ 历史记录浏览器 ”

• 白皮书“ 重印控制台 ”

• 历史记录浏览器和重印控制台的联机帮助系统

Page 21: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 21

以编程的方式从系统数据库检索数据

借助 .NET SDK,您可以检索使用历史记录浏览器可以查看的所有数据。您可以通过各种方式使用这些信息,例如,更加紧密地与您自己的数据存储进行集成,或者检索有关打印作业的信息供您自己的应用程序使用。

将日志记录到文本文件

BarTender 还支持将日志记录到文本文件。但是:

• 可用的信息不够详尽。

• 格式不方便定制。

• 缺少专用的日志查看器。

• 不容易精确查找想要的信息。

• 跟踪多个作业的信息会更加复杂。

• 缺少自动日志维护。

• 文本文件日志不如 SQL 数据库安全。

更多信息

如需有关日志记录的更多详细信息(包括 BarTender 系统数据库和记录安全),请参阅:

http://www.seagullscientific.com/docs/whitepapers/WhitePaper_WhatsNewInBT900.pdf

如需有关上述各种其他应用程序的详细信息(包括 Printer Maestro、历史记录浏览器、重印控制台等),请参阅位于以下位置的针对性白皮书:

http://www.seagullscientific.com/aspx/whitepapers.aspx。

另请参阅 Printer Maestro、历史记录浏览器和重印控制台的联机帮助系统。

使用打印机代码模板

在前文中,本“ 集成概述” 针对将 BarTender 的标签打印流程与其他软件集成面临的两个最基本的环节,讨论了多种可行的方法:

• 将外部的标签数据导入 BarTender。

• 从其他软件控制 BarTender。

Page 22: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 22

这两种方法在部署时可以与其他软件实现严丝合缝的整合,用户甚至感觉不到是

BarTender 在打印标签。但是,在有些环境中,根本无法与 BarTender 直接集成。这些情况可以通过使用 BarTender 的打印机代码模板导出功能来解决。(仅两个自动化版本提供支持。)

了解打印机代码模板 尽管部署和使用打印机代码模板需要专业的技术知识,但是解释相关的基本概念却很简单。我们先回顾一下传统打印作业的工作原理。

传统的打印作业 在传统的打印作业中,BarTender 会从外部数据源读取标签数据,也可以是说为其提供标签数据。然后,BarTender 会将这些标签数据与预先设计的标签格式合并,生成命令,指示打印机在合适的位置打印标签数据的不同字段。这种方法会先提供数据,然后再生成打印机命令。

生成打印机代码模板 使用打印机代码模板打印时,标签数据会提供给一个软件,而不是提供给

BarTender,并且是在生成打印机命令后提供。为了达到此目的,BarTender

不会将打印机命令直接发送到打印机,而是发送到一个数据文件。另外,打印机代码中正常情况下应为标签数据的每个位置,都会代之以容易识别的占位符。例如,打印机代码中本来应为文本字段的部分可能会变为以下文本:

<*FIELD1*>

标签中的下一个对象(也许是条形码)可能会变为:

<*FIELD2*>

BarTender 创建的这些文本文件包含了经过特意修改的打印机代码,称之为打印机代码模板。(请注意,上述内容只是一个完全随机的语法示例。如与实际语法相同,纯属巧合。)

使用打印机代码模板打印 直接打印上述打印机代码模板并无意义,因为所有标签上只会出现标签数据

<*FIELD1*> 和 <*FIELD2*>。相反,您需要将打印机代码模板存储到一个计算

Page 23: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 23

机程序中,或者一个知道如何使用实际数据替换占位符的硬件装置中。标签数据与打印机代码模板“ 合并” 后,您的打印机代码就变得有意义并可以供打印机使用。

打印机代码模板 (PCT) 的用法包括:

将打印机代码直接嵌入程序中 众所周知,个人计算机和 Windows 问世以前,软件是在巨型大型机上运行的。在一些非常早期的用于供应链管理的软件程序中,程序员对标签所需的所有打印机代码都采用手编方式,并直接编译为程序的一部分。无论多么细微的标签格式变化都需要手动更改嵌入式打印机代码的对应部分。

直到现在,还有一些这样的遗留应用程序在发挥作用,一些老派的人仍旧喜欢手编标签。当然,使用 BarTender 在一个文件中生成打印机代码模板 (PCT),然后将这些打印机代码编译到程序中,才是更有效的管理嵌入式代码格式的方法。更改标签设计仍旧非常耗时,因为您必须运行 BarTender、执行修改、导出新的

PCT 并重新编译到外部程序。不过,相较于手编方式,使用类似 BarTender 这样出色的 WYSIWYG(所见即所得)程序,依然是更方便、更快捷的标签设计方法。

SAPscript-ITF 集成 SAPscript 是 SAP 中可用的报表引擎,支持将 SAP 提供的标签数据与外部提供的称为 ITF(交换文本格式)的打印机代码模板格式自动融合。就像在创建嵌入式格式时一样,您这时必须使用 SAPscript-ITF PCT 格式(两种自动化版本均支持)从 BarTender 导出 PCT。然后,导出的 ITF 文件必须“ 上传” 到

SAP 系统。接着可以配置 SAP 系统运行正确的 SAPscript 报表并合并所需的标签数据(无论 SAP 事务需要一个还是多个标签)。

尽管相对于将新的打印机代码实际嵌入并编译到 SAP 应用程序,SAPscript-

ITF 系统使得标签格式的更改变得简单了,但使用 SAPscript-ITF 仍旧会存在下文中提到的“ 打印机代码模板面临的技术挑战 ” 。

便携式键盘装置 市面上存在大量的便携式键盘装置,但都不过是一个便携式键盘、一个小屏幕和一个打印机端口拼凑起来的。这些装置普遍缺少便携式“ 数据终端” 应具有

Page 24: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 24

的智能,通常没有连接到企业主网络的能力。它们最常见的用途是连接到打印机上(这种打印机装在手推车或叉车上,能够在仓库内移动)。

不运行 Windows、不能连接到主网络的键盘装置,显然无法运行 BarTender 之类的标签打印程序。但是,很多键盘装置可以用于下载和存储打印机代码模板。然后,它们可以向您提供标签数据、将数据与 PCT 合并,并向相连的打印机输出打印机代码。

使用支持 XML 的打印机 尽管大多数标签打印机都提供全面、强大的打印机语言,但是只有部分有接受打印机代码模板的选项。与嵌入式格式和键盘装置相同(见上述),您必须首先设计一个标签,然后导出 PCT 供后续下载到打印机。此后,您可以选择仅将标签数据(而不是打印机代码)发送到支持 XML 的打印机。

在非 Windows 环境中打印 即使控制软件应用程序不在 Windows 上运行,但利用 BarTender 的两个自动化版本随附的 Commander 中间件应用程序提供的大量选项,仍可实现与

BarTender 的集成。(请参阅本白皮书前文的专门说明以及单独开篇讲述此问题的白皮书“ Commander ” 。)另一方面,如果控制应用程序的安装方式完全不允许访问网络上的 Windows 计算机,则可以通过嵌入式打印机代码模板,仍然享受基于 Windows 的标签设计所带来的便利性(尽管并非基于 Windows

的打印)。

打印机代码模板面临的技术挑战 生成打印机代码模板需要使用 BarTender 的自动化版本。但是,与传统标签打印作业不同,BarTender 无法用作打印作业的打印机引擎,因此,BarTender 无法提供我们多年来开发的各种高级标签打印功能。打印机代码模板面临的技术和安全挑战包括:

经常需要用到编码知识 使用 BarTender 作为打印引擎时,您不必担心与打印机之间的通信的技术细节。与此不同,要将标签格式嵌入其他软件,您需要知道如何使用该软件编写所用的语言进行编码,以及如何读取、操作和嵌入大段的打印机代码。

Page 25: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 25

更改标签格式的复杂性 使用 BarTender 作为打印引擎时,只需简单修改标签设计,就可以再次进行打印。与此相反,无论使用打印机代码模板进行多么细微的修改,您都需要:

• 运行 BarTender 并修改标签。

• 将标签设计导出到打印机代码模板 (PCT)。

• 重新将 PCT 嵌入应用程序并重新编译。(或者重新将 PCT 下载到硬件装置上。)

更为复杂的打印机维护 如果您存储打印机代码模板的打印机出现了故障,您通常需要联系 IT 人员进行维修,以便在替代打印机上重新开始标签作业,即使您继续使用完全相同的打印机模板。这是因为您必须执行公司用于部署 PCT 的定制流程。与此相反,使用 BarTender 作为打印引擎时,您可以立即在新打印机上打印。更换打印机品牌仅是意味着要指定一个不同的打印机驱动程序。与此不同,当使用 PCT 时,更换打印机品牌通常需要定制的编程!

缺少打印作业状态监控功能 许多 Seagull™ 提供的 Windows 打印机驱动程序都向 Windows 和 BarTender

的 Printer Maestro 实用程序提供如下等信息:

• 您的打印机是否联机?

• 您的打印作业是正在运行,还是已经停止?

• 您的打印机的标签打印速度是否很慢?

• 您的打印机为什么停止了?

与此相反,使用 PCT 打印时,除非您编写自己的支持功能代码,以负责这种类型的状态监控,否则打印会处于“ 盲打” 状态,您无从得知打印机的状态。

不支持多种打印机型号 从 BarTender 打印时,您可以在几秒之内快速选择不同的打印机。而且,使用

Printer Maestro 实用程序时,如果打印作业因为打印机“ 卡住” 或不可用而失败,您只需快速拖动鼠标,就可以将打印作业转移到不同品牌或型号的打印机上。与此相反,由于 PCT 依赖于与特定打印机对应的定义代码,您无法将失败

Page 26: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 26

的打印作业“ 转移” 到不同品牌的打印机上。事实上,大多数制造商的不同打印机型号之间存在着很大的差异,通常需要为每种型号单独创建不同的 PCT。(我们遇到过这种情况:打印机即使型号“ 相同” ,只要固件版本不同,所需要的 PCT 也略有不同。)

无法访问不受支持的字体和条形码 当 BarTender 使用 Windows 打印机 Drivers by Seagull™ 时,您可以自由访问所有打印机内置的字体和条形码。因此,您生成的所有 PCT 也可以享受此支持。但是,BarTender 还可以打印 TrueType(以及各种第三方)字体以及一维和二维条形码的大量变体,即使打印机并未内置这些字体和条形码。这是因为 BarTender

可以根据需要将这些项目作为光栅图形,发送到打印机。与此相反,打印机代码模板只能支持静态(即,不变化)图形。这样造成无法打印因标签变化而不断变化的“ 光栅化” 条形码和文本。

不支持不断变化的图形 PCT 无法支持为不同的标签读取和打印不同的图形对象,原因如前文所述。例如,如果想要从数据库读取一张图片,然后打印到库存标签上的每个条形码,则无法使用 PCT 进行打印。

没有段落格式 BarTender 提供了大量的段落格式功能,包括自动换行、缩进、两端对齐、项目符号、编号以及行间距。使用 PCT 时则不支持类似段落格式处理。

字体无法变大或缩小 BarTender 中的字体对话框提供有一个自动调节大小选项,允许 BarTender 根据每个标签上为文本对象提供的文本数量,自动增大或缩小文本对象的字体大小。与此相反,使用 PCT 要求每个文本对象打印到每个标签上时必须保持相同的大小。

丢失了各种安全和审核准备功能 BarTender 应用程序套件随附的配套应用程序包括:

• BarTender Security Center – 管理权限和其他安全功能。

Page 27: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

白皮书:集成概述

页 27

• Librarian – 使人数众多的用户、设计师和管理员能够共同合作,安全地管理标签格式及其他文件的储存和修订。

• 历史记录浏览器 – 允许用户查看以往标签作业的记录信息,其中包括标签的图像以及可能生成的打印作业消息。

这些保证历史记录浏览器的审核功能运行的安全功能和记录功能,在使用 PCT

时会被全部“ 抛弃” 。

丢失了高级打印管理功能 Printer Maestro 是一个强大的工具,可以监控 Windows 网络上的所有打印机和打印作业,并在一个屏幕中显示状态信息。Printer Maestro 甚至还允许将失败的打印作业从一个打印机转移到另外一个打印机(甚至可以是不同的品牌),一个简单、快速的鼠标动作就可以完成全部操作。与此相反,使用 PCT

时会“ 抛弃” 支持这些管理功能的标准 Windows 功能。

更多信息

如需有关打印机代码模板的更多信息,请参阅白皮书“ 导出打印机代码模板 ” 。

结语

将 BarTender 与其他软件集成的方法有很多种。最好的效果不仅取决于您的软件的功能,还取决于您习惯使用的集成方法。幸运的是,BarTender 拥有多样化的数据导入功能以及用于实现其他程序控制的强大功能,在快速地成功实施可靠的集成方面,为您提供了丰富的选择。

Page 28: The World's Leading Software for Label, Barcode, RFID & Card Printing · 2012-09-13 · ERP . 系统传输数据 主流 ERP 系统可以将事务数据导出为各种中间数据格式,而这些中间数据格式经过

版本:2012-09-13 10:59 版权所有 © 2012 Seagull Scientific, Inc.

Seagull 现有白皮书

常规白皮书

• Drivers by Seagull 的优势

配套应用程序

• Printer Maestro 第一部: 企业打印管理系统

• Librarian • BarTender Security Center

• BarTender Web 打印服务器

最近升级 • What’s New in the Latest BarTender

集成白皮书

• 集成概述

• Commander

• Commander 示例

• BarTender 的.NET SDKs

• BarTender's ActiveX Automation Interface • Exporting Printer Code Templates • Using BarTender with Remote Desktop Services and Citrix XenApp • Integration with Oracle's WMS and MSCA • Integration with IBM WebSphere Sensor Events • Integration with SAP

其它白皮书 • Weighing Scales • Dynamically Changing Objects at Print Time using VB Script • GHS Compliance Labeling

• BarTender 自动化版授权

• Printing International Characters Using BarTender • BarTender Software Activation • Using BarTender's Application Identifier Wizard • Optimizing Output Performance • Status Monitor Overview • Silent Install

若要获得可下载版本,请访问: www.seagullscientific.com/aspx/white-papers.aspx