我正在解决我继承的VB.NET应用程序的问题。
以下行执行打印操作:
Me.rptShippingLabel1.PrintOptions.PrinterName = "LabelPrinter"
Me.rptShippingLabel1.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape
Me.rptShippingLabel1.PrintToPrinter(Me.txtLabelQty.Text, False, 1, 1)
Zebra
ZDesign
TLP2844
通过直接USB
与工作站相关联,并命名为LabelPrinter
。但是,尽管代码中指定了目标打印机,但Zebra必须在Windows中设置为默认打印机,否则作业将作为默认设置转到任何其他打印机。
更令人沮丧的是,在某些计算机上,具有完全相同的配置作业会转到正确的打印机,但我无法识别可控模式。
任何建议为什么会这样?
有问题的报告在设计>页面设置中与打印机无关。
答案 0 :(得分:3)
查看您的报告。在页面设置中,查看报告是否针对显示进行了优化如果是,请取消选中。如果报告针对仅显示进行了优化,则会丢弃PrinterOptions枚举。您仍然可以在旧框架中分配给打印机名称属性,但不能再分配。
答案 1 :(得分:1)
尝试以下代码
Dim rptShippingLabel1 As New CrystalReport1
Dim PrinterSettings1 As New Printing.PrinterSettings
Dim PageSettings1 As New Printing.PageSettings
'Replace it with your printer name
PrinterSettings1.PrinterName = "Microsoft XPS Document Writer"
rptShippingLabel1.PrintToPrinter(PrinterSettings1, PageSettings1, False)
要获取打印机名称,请不要从rptShippingLabel1.PrintOptions.PrinterName读取它,它将显示为空白。尝试从PrinterSettings1.PrinterName中读取。
使用Crystal Reports运行时13.0.9进行测试