VB.NET 2013 Crystal 直接向打印机报告打印,不显示
VB.NET 2013 Crystal Report print to printer directly without displaying
我正在研究 VB.Net 2013 + Crystal 报告项目。任务是根据用户标准从 MSSQL 中获取发票数据,并将其直接打印到预定义的打印机。在这样做时,发票的布局将按照客户提供的方式使用。所以这是在 Crystal 报告中完成的。
问题是如何将 crystal 报告直接打印到打印机而不在屏幕上显示任何报告。
请指教
我找到了这个问题的替代解决方案。我从这个站点使用了 Adobe Acrobat 的命令行开关:https://www.robvanderwoude.com/commandlineswitches.php#Acrobat
使用此开关,我可以将 PDF 发送到任何物理打印机。然而,PDF 创建是使用 BullPDF 打印机 (http://www.bullzip.com/products/pdf/info.php) 完成的,这是一个免费的 PDF 打印机应用程序。
所以完整的逻辑如下:
在 Crystal 报告 2013
中根据客户规范设计自定义报告
使用以下代码将 Crystal 报告中的报告打印到 PDF 打印机:
私有子运行报告()
昏暗的 CryRpt 作为新的 ReportDocument
将 crTblLogInfos 调暗为新 TableLogOnInfos
将 crTblLogInInfo 变暗为新 TableLogOnInfo
将 crConInfo 调暗为新的 ConnectionInfo
将 crTables 调暗为 Tables
昏暗的 crTable 作为 Table
With crConInfo
.ServerName = ServerName
.DatabaseName = DBName
.UserID = UID
.Password = Pwd
End With
CryRpt.Load(FPath & "rptLink.rpt")
crTables = CryRpt.Database.Tables
For Each crTable In crTables
crTblLogInInfo = crTable.LogOnInfo
crTblLogInInfo.ConnectionInfo = crConInfo
crTable.ApplyLogOnInfo(crTblLogInInfo)
Next
CryRpt.PrintOptions.PrinterName = "Bullzip PDF Printer"
CryRpt.PrintToPrinter(1, False, 0, 0)
OrdersLinking.DocPrinted = True
Me.Close()
End Sub
- 如 Bull PDF Printer 中所述,上述步骤会将报告以 PDF 格式保存到预定义的文件夹中。现在使用 https://www.robvanderwoude.com/commandlineswitches.php#Acrobat
中提到的以下命令将 PDF 文件发送到物理打印机
静默打印 PDF 文件:
AcroRd32.exe /N /T PdfFile PrinterName
任务完成。
我正在研究 VB.Net 2013 + Crystal 报告项目。任务是根据用户标准从 MSSQL 中获取发票数据,并将其直接打印到预定义的打印机。在这样做时,发票的布局将按照客户提供的方式使用。所以这是在 Crystal 报告中完成的。
问题是如何将 crystal 报告直接打印到打印机而不在屏幕上显示任何报告。
请指教
我找到了这个问题的替代解决方案。我从这个站点使用了 Adobe Acrobat 的命令行开关:https://www.robvanderwoude.com/commandlineswitches.php#Acrobat
使用此开关,我可以将 PDF 发送到任何物理打印机。然而,PDF 创建是使用 BullPDF 打印机 (http://www.bullzip.com/products/pdf/info.php) 完成的,这是一个免费的 PDF 打印机应用程序。
所以完整的逻辑如下:
在 Crystal 报告 2013
中根据客户规范设计自定义报告
使用以下代码将 Crystal 报告中的报告打印到 PDF 打印机:
私有子运行报告() 昏暗的 CryRpt 作为新的 ReportDocument 将 crTblLogInfos 调暗为新 TableLogOnInfos 将 crTblLogInInfo 变暗为新 TableLogOnInfo 将 crConInfo 调暗为新的 ConnectionInfo 将 crTables 调暗为 Tables 昏暗的 crTable 作为 Table
With crConInfo
.ServerName = ServerName
.DatabaseName = DBName
.UserID = UID
.Password = Pwd
End With
CryRpt.Load(FPath & "rptLink.rpt")
crTables = CryRpt.Database.Tables
For Each crTable In crTables
crTblLogInInfo = crTable.LogOnInfo
crTblLogInInfo.ConnectionInfo = crConInfo
crTable.ApplyLogOnInfo(crTblLogInInfo)
Next
CryRpt.PrintOptions.PrinterName = "Bullzip PDF Printer"
CryRpt.PrintToPrinter(1, False, 0, 0)
OrdersLinking.DocPrinted = True
Me.Close()
End Sub
- 如 Bull PDF Printer 中所述,上述步骤会将报告以 PDF 格式保存到预定义的文件夹中。现在使用 https://www.robvanderwoude.com/commandlineswitches.php#Acrobat 中提到的以下命令将 PDF 文件发送到物理打印机
静默打印 PDF 文件:
AcroRd32.exe /N /T PdfFile PrinterName
任务完成。