2008-11-05 29 views
0

我们正在尝试构建一个Crystal控件,将控制字符直接发送到打印机,而不必通过该打印机的(错误)Windows驱动程序。有没有人知道在Crystal Report中做到这一点的方法?如何将控制字符发送到Crystal Reports中的Windows打印机?

我们正在尝试发送的特定控制字符CHR(2)。但是,当我们将它放在Crystal Report中并打印到通用文本打印机时,它将把字符转换为输出期间。该角色在Crystal的预览中显示为一个框,因此我怀疑它是Windows驱动程序,而不是Crystal,这就是问题所在。

该设备是一个打印机的Datamax。我们确实有驱动程序,但遇到各种问题 - 基础设施小组比我更了解问题,我不觉得我有足够的信息去尝试并询问具体问题。这是Crystal Reports,Citrix和我们针对特定市场的ERP软件包的相互作用,以及在报告运行时根据用户自动选择适当标签大小的标签打印机的组合。

回答

0

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

这是什么类型的设备?你想达到什么目的?

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

+0

我不认为后处理在我们的案例中是可行的。这些报告由我们的ERP应用程序运行,因此除了Crystal Report本身和我们控制的Windows打印服务器之外,我们没有其他任何内容。 – LeBleu 2008-11-06 15:14:08

0

一般来说,你不能直接发送转义字符从Crystal Reports打印机。

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

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

相关问题