2017-08-16 133 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