Crystal报表打印到错误的打印机

时间:2014-06-19 19:15:35

标签: vb.net crystal-reports report

我正在解决我继承的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中设置为默认打印机,否则作业将作为默认设置转到任何其他打印机。 更令人沮丧的是,在某些计算机上,具有完全相同的配置作业会转到正确的打印机,但我无法识别可控模式。 任何建议为什么会这样?

有问题的报告在设计>页面设置中与打印机无关。

2 个答案:

答案 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进行测试