2017-08-16 132 views
6

我正在使用Crystal Reports将订单打印到KOT打印机。我有四种不同的KOT打印机。这些项目根据分配的相应打印机名称进行打印。选择“无打印机”选项时的打印问题

这工作正常,但为了提高打印速度,我选中了“无打印机”选项。然后打印只有一台打印机。当它未被检查时,问题就解决了。

代码:

strSQL = "" 
Dim crptDV As New ReportDocument() 
Dim da As New SqlDataAdapter(strSQL, gblCon) 
Dim ds As New DataSet 
da.Fill(ds) 
Dim path As String 
path = Application.StartupPath 
crptDV.Load(path & "\reports\rptItemOrder.rpt") 
crptDV.SetDataSource(ds.Tables(0)) 
Dim parameter As New ParameterField     
parameter = crptDV.ParameterFields("CompanyName") 
parameter.CurrentValues.AddValue(CompName) 
crptDV.PrintOptions.PrinterName = PrinterName 
crptDV.Close() 
crptDV.Dispose() 
+0

为什么不将订单写入文本文件并将文件发送到打印机而不使用水晶报告 –

+0

这是一个很好的建议,我使用了很多公式,所以我无法避免水晶报告 – sarath

+0

我不清楚从你的问题的理想结果。另外,您是否可以显示已有的打印代码片段?我已经能够打印到指定的打印机(即使没有选择打印机选项) – reckface

回答

1

水晶报表“无打印机”选项

的“无打印机”选项,当我们需要查看或在网络环境中打印的Crystal报表。

检查'无打印机'选项会通知报告不与特定打印机关联,因此它会从报告设置或代码提供的设置中获取设置。

如果没有打印机没有被检测到,报告将从开发者机器的可用打印机中获取打印机设置,并且当它被发送到不同的打印机时,它会在某个时间混淆输出。

+0

那么解决方案是什么? – sarath

+0

@sarath我的理解是选择“无打印机”选项不会缩短打印时间。它使用在您的电脑中定义的默认打印机中报告中定义的默认设置。 – Tridam