故障排除指南:打印流程
概述
打印流程是 BarTender 及其众多组件的核心。当打印任务失败时,检查这个流程有助于定位问题发生的位置以及如何解决。
下面是 BarTender 正常打印流程的流程图。
当出现问题时,通常是某个环节断裂或某个步骤出现了问题。你可以从绿色流程开始,依次排查到橙色流程,这样可以让你的排查过程更高效。按顺序排查每一步,可以避免在前一步已经出错的情况下,浪费时间排查后续步骤。
下面将每个流程分解,并说明可能出现问题的地方。这不是一份完整的打印流程排查指南,但足以帮助你入门。
请求打印任务
在开始排查流程时,了解是什么触发了打印任务非常重要。对于 Designer 或 Print Station 这类应用,打印任务是在用户点击打印按钮时开始的。像集成或 SDK 这样的自动化,则是通过模拟这个操作来启动打印,无需用户直接操作。
点击打印按钮通常不需要排查,但自动化流程涉及多个组件,需要分析是否存在问题。检查触发文件、Integration Builder 的配置,或者你在 SDK 或任何 ActiveX 自动化中调用打印命令的代码。
- 打印机是否正确列出?
- 份数设置是否有效?
- 如果你使用了 Print Command Scripts 或 BTXML 等命令,是否遗漏了特殊字符或命令?
如果命令或调用有误,修正后可能就能解决问题,无需继续后续排查。
关键要点
- 了解打印任务是如何被触发的。
- 检查打印任务的所有设置/命令。
获取打印数据
这是打印流程中非常重要且容易出错的一步。BarTender 可以通过多种方式获取打印数据,包括数据录入表单、数据库连接以及触发文件中的数据。如果这一步出现问题,你需要确保 BarTender 能够连接到数据源,并且数据内容是正确的。
数据录入表单相对难以排查,通常是用户输入错误。数据库连接则更容易控制。你主要会在 Designer、Print Station 和 Print Portal 打印时遇到数据库连接,当然集成(以及其他自动化)中也可能出现。你需要确保 BarTender 能够连接到正在使用的数据库,并且数据库中有正确的数据。通常可以通过打开 BarTender 的 数据库连接设置 对话框来检查。
如果涉及自动化(如集成),数据很可能来自标签之外。这会让排查变得更复杂,因为数据来源可能有很多。以下是一些建议,帮助你在自动化场景下排查问题:
- 在管理控制台或 Integration Builder 中检查集成日志,查看是否有错误。
- 检查触发文件(大多数集成场景)是否有数据且数据正确。
- 检查数据库连接(针对数据库集成),确保没有连接错误。
- 确保触发文件的数据库类型与标签的数据库一致。例如,如果标签连接的是 CSV 文件,集成时不能给它 XML 数据库,两者类型不匹配。
- 如果你使用了命名数据源,确保所有数据源都已列出。未列出或为空的命名数据源在打印时可能会用到示例数据。
ActiveX 和 .NET 应用的数据源更多,复杂度更高。不过,上述一些基本排查原则同样适用,有助于定位数据问题。
关键要点
- 确保 BarTender 能连接到数据库。
- 确保数据库中有正确的数据。
将数据转化为打印请求
这一步高度依赖于具体打印的模板。它涉及处理所有转换和性能优化,然后将任务转化为可用的打印机代码。根据标签的复杂度和所用打印机的不同,这一步可能需要更多调查。
转换是数据处理中的大头。它们可能出现在多个地方,但只要仔细排查,就能根据标签或自动化的实际情况逐一定位。
- 数据源转换是应用于标签上任何对象的转换。文本对象、条码或数据库字段都可能有转换。打开每个有转换的对象的转换对话框,有助于定位潜在问题。
- 文档操作允许在打印开始或打印过程中进行某些转换。查找未标记为“打印后执行”的文档操作,有助于发现有问题的转换。
- 文档级脚本可能更难排查。需要检查所有脚本事件,查找脚本错误,排查潜在的转换问题。
- 集成转换在集成层面执行,位于集成文件中,而不是标签文件。与标签转换不同,集成转换可能影响所有使用该集成的文档。检查帮助文件中列出的所有转换操作,确保它们都能正常工作。
性能优化可以在 BarTender Designer 的打印对话框中找到,仅在使用 Seagull 打印机驱动时可用。如果你能看到这个选项卡,先关闭所有打印机优化。如果这样能解决问题,再逐个开启,直到找到有问题的优化项。如果还是无法解决,请继续排查下一步。
如果你没有使用 Seagull 驱动,请参考打印机厂商官网或客服,获取优化相关的帮助。
关键要点
- 检查 BarTender 中所有转换和数据源。
- 检查 BarTender 的性能选项卡。
将打印请求转化为打印代码
这一步涉及多种技术,将打印任务从 BarTender 发送到打印机。转化为打印机代码的过程是 BarTender 与打印机驱动之间的交互,使用 Seagull 驱动效果最佳。你可以参考 Seagull 驱动技术文档 。
转化完成后,任务需要排队并发送到打印机。
虽然这个过程很复杂,用户能控制的地方不多,但还是有一些方法可以确保这一步正常。
首先,你可以直接 打印到文件 ,这样会在电脑上生成一个包含打印代码的文件,这些代码本应发送到打印机。虽然你可能看不懂这些内容,但文件里应该有数据。
如果你遇到间歇性打印问题,Seagull 驱动可以记录它生成的打印机代码。这样你可以对比出错的打印任务和正常的打印任务,并在打印机手册中查找有问题的指令。要开启打印代码记录,请参考打印机属性中的帮助文件。
最后一步是将打印代码交给打印队列。小任务可能很快进出队列,难以察觉。你可以暂停打印机,然后从 BarTender 发送任务,确保任务出现在队列列表中。再取消暂停,确保任务能正常离开队列且无报错。
关键要点
- 这一步很复杂。
- 尽量使用 Seagull 驱动(如果有)。
将数据发送到打印机
最后一步涉及 BarTender 与打印机的连接,以及打印机本身。如果前面所有步骤都没问题,问题很可能出在这里。
第一步是发送任务。这可能是通过数据线连接到 USB 打印机,也可能是通过网络发送。检查连接线很重要,确保打印代码能顺利到达打印机。
- 如果是 USB 打印机,确保 USB 线正确连接到打印机和电脑。
- 如果是网络打印机,检查是否有网络延迟或流量问题。你可能需要咨询 IT 部门,或使用如 WireShark 这样的第三方工具来排查。
确认连接正常后,就要检查打印机本身了。
- 每次发送打印任务时,打印机是否报错?
- 是否打印出乱码?
- 耗材、墨水或色带是否有物理问题?
第一种情况最好联系打印机厂商处理,第二种可以尝试清空打印机缓存,具体操作请查阅打印机用户手册。手册中通常也有排查物理问题的步骤。
关键要点
- 确保电脑能连接到打印机。
- 第三方工具可以帮助诊断问题。
更多资源
本指南主要是打印排查的概览,并未涵盖你可能遇到的所有打印场景。如果这些建议无法解决你的问题,请联系客服,我们会尽力协助你。