1

我最近将一个未知版本的 Crystal Report 更新到 v13。此报告使用 6"x4" 标签(从标签打印机出来时为 6" 长,4" 宽)打印到 Zebra TLP2844 标签打印机。在更新之前,一切正常。之后,我无法横向打印标签。无论我使用什么设置,我总是得到肖像。

以下是我在 Visual Studio 2010 中的设置: 在此处输入图像描述

我的打印代码:

 public void print_label(CTapeID myTape)
    {
        _myTape = myTape;
        LabelReport crystalPrint;  // name of report class
        CPrinterObject po;

        CPrinterInfo pi;
        String printerType = "LABEL_4060";
        LabelInfo cpd; // name of dataset class for the report

        try
        {
            crystalPrint = new LabelReport();

            crystalPrint.ReportOptions.EnableSaveDataWithReport = false;

            po = new CPrinterObject();
            pi = po.FindPrinter(printerType);

            if(pi != null)
            {
                crystalPrint.PrintOptions.PrinterName = pi.PrinterName;

            }

            crystalPrint.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;

            cpd = GetLabelData();
            crystalPrint.SetDataSource((DataSet)cpd);
            crystalPrint.PrintToPrinter(1, false, 1, 0);

            crystalPrint.Close();
            crystalPrint.Dispose();
        }
        catch(Exception ex)
        {
            ex.Source = MethodBase.GetCurrentMethod().Name + "(): " + ex.Source;
            throw ex;
        }
    }

CPrinterObject并且CPrinterInfo是获取打印机名称和属性的内部类。

4

1 回答 1

0

我只花了三天半的时间来追踪这个问题,并阅读了数以百万计的未解决的旧问题“我也有这个问题。你解决了吗?” 帖子。我终于破解了。

无论你选择什么样的代码设置和纸张尺寸,Crystal 都讨厌 Zebra,并且会随意决定纵向/横向,因为它比你更清楚。

为我解决的问题是:

  • 进入打印管理(不是打印机设置)
  • 右键单击打印机
  • 转到“设置打印默认值”
  • 将纸张尺寸设置为明显错误(我说我的 10 厘米 x 2 厘米标签是 10 厘米 x 20 厘米),但足够大到 STFU 并停止为您选择它。
于 2015-07-31T01:46:33.717 回答