【问题标题】:How do I send control characters to a Windows printer in Crystal Reports?如何在 Crystal Reports 中将控制字符发送到 Windows 打印机?
【发布时间】:2008-11-05 21:01:33
【问题描述】:

我们正在尝试构建一个 Crystal Report,它将控制字符直接发送到打印机,而无需通过该打印机的(有缺陷的)Windows 驱动程序。有谁知道从水晶报表中做到这一点的方法?

我们试图发送的特定控制字符是 CHR(2)。但是,当我们将其放入 Crystal Report 并打印到 Generic Text Only 打印机时,它会将字符转换为输出时的句点。该字符在 Crystal 的预览中显示为一个框,所以我怀疑是 Windows 驱动程序,而不是 Crystal 问题。

该设备是 Datamax 打印机。我们确实有驱动程序,但遇到了各种问题 - 基础设施组比我更了解这些问题,我觉得我没有足够的信息来尝试询问具体问题。它结合了 Crystal Reports、Citrix、我们的市场特定 ERP 软件包以及在报表运行时根据用户自动选择适合标签尺寸的标签打印机。

【问题讨论】:

    标签: windows crystal-reports printing


    【解决方案1】:

    简短的回答是你不能。最后,这是因为像 Crystal 这样的应用程序只在 GDI 级别说话,并将此数据交给打印机驱动程序,以转换为 PCL/PS 等并传递到打印机。

    这是什么类型的设备?你想完成什么?

    如果有一个驱动程序可以工作,但不是您可以使用的设备的特定驱动程序。另一个有点“hacky”的选项是使用迷你驱动程序开发工具包并自己构建。我们已经为客户完成了这项工作,我们在其中插入了我们自己的代码,例如自定义纸张尺寸,其中指定了字母大小以解决不支持自定义纸张尺寸或具有我们需要访问的某些特殊字体的应用程序.此外,有些打印机允许您将转义字符更改为其他字符,具体取决于您的设备可能工作或构建一个后处理,您打印到文件,文件被拾取,您通过查找修改打印文件您输入的一些特殊语法并传递文件...很痛苦,但可以解决问题。

    【讨论】:

    • 我不相信后处理在我们的案例中是可行的。报表由我们的 ERP 应用程序运行,因此除了 Crystal Report 本身和我们控制的 Windows 打印服务器之外,我们没有任何其他东西。
    【解决方案2】:

    通常您不能从 Crystal Reports 将转义字符直接发送到打印机。

    如果您只需要报告开头或结尾的特殊字符(例如 POS 打印机的剪纸或抽屉打开),那么您可以使用通用打印机驱动程序设备选项并描述开始或结束作业序列。

    我个人总是为任何打印机找到一些工作(或兼容)的驱动程序(顺便说一句,您的打印机型号是什么?)。对于 POS 打印机驱动程序通常包含特定的“字体”,允许直接发送转义序列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-04-26
      • 2012-06-09
      相关资源
      最近更新 更多