直接向打印机打印 Crystal 报告

Printing a Crystal Report directly to printer

我正在一个需要为给定信息创建标签的程序中创建标签打印功能。我在 Crystal Reports 9 中创建了一个标签,但我无法打印它。

我不想保存标签,我只是想让它在系统创建后直接打印。

Dim ap9 As craxdrt.Application
Dim rpt9 As craxdrt.Report
Dim dbt As craxdrt.DatabaseTable

Set ap9 = New craxdrt.Application
On Error GoTo errError2

Set iniFile = New CIniFile
On Error GoTo errError3

Set rpt9 = ap9.OpenReport(iniFile.pathReports & REPORT_LABEL_IN)
On Error GoTo errError4

For Each dbt In rpt9.Database.Tables
    dbt.Location = iniFile.pathDbCosmet
    If dbt.ConnectionProperties.count <= 5 Then
        dbt.ConnectionProperties.Add "Database Password", iniFile.passwordCosmet
    End If
Next

rpt9.RecordSelectionFormula = sFormula
rpt9.PrintOut False, CInt(txtPacksReceived.Text)

下面的代码允许我 select 一台打印机

然后在点击 'Print' 之后,我会看到另一个对话框

然而,代码执行正常,没有错误,但打印队列没有显示任何文档,也没有打印报告。

有什么原因导致我无法打印标签吗?

您的报告很可能不包含任何数据 - selection/suppression 公式或类似公式中存在一些逻辑错误。

如果您打印到任何其他打印机,是否打印出一些东西?跟踪 SQL(假设您的报告绑定到 SQL 服务器),您能看到发出的查询吗?它看起来正确吗?

我以前在使用 Zebra 打印机时遇到过问题,结果都与驱动程序有关。您是否卸载了打印机驱动程序并重新安装了它?否则尝试拔下并移除设备,将其插入不同的端口并重试?