C# Crystal Reports打印纵向而非横向

C# Crystal Reports打印纵向而非横向,c#,crystal-reports,C#,Crystal Reports,我在SAP Crystal Reports 14.1.4.1327中创建了一个非常简单的测试报告(.rpt文件)。我在页面设置中将页面方向设置为横向。如果我从Crystal Reports Designer打印我的文档,它将在横向中正确打印。 我需要打印C#应用程序的报告。我使用SAP Crystal Reposrts运行时引擎for.Net 13.0.6.1027 ReportDocument rp = new ReportDocument(); rp.Load(path_to_my_repo

我在SAP Crystal Reports 14.1.4.1327中创建了一个非常简单的测试报告(.rpt文件)。我在页面设置中将页面方向设置为横向。如果我从Crystal Reports Designer打印我的文档,它将在横向中正确打印。 我需要打印C#应用程序的报告。我使用SAP Crystal Reposrts运行时引擎for.Net 13.0.6.1027

ReportDocument rp = new ReportDocument();
rp.Load(path_to_my_report_file);
rp.PrintOptions.PrinterName = printerName;
rp.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
rp.PrintToPrinter(0, false, 0, 2);
它总是以纵向打印。我不知道为什么它不起作用

我还尝试了
PrintToPrinter(PrinterSettings PrinterSettings,PageSettings PageSettings,bool reformatReportPageSettings)
方法并设置了

...
System.Drawing.Printing.PrinterSettings printersettings = new   System.Drawing.Printing.PrinterSettings();
printersettings.DefaultPageSettings.Landscape = true
...
rp.PrintToPrinter(printersettings, pageSettings, false);
但它也不起作用

如何在横向打印报表?我无法修改打印机驱动程序配置,因此解决方案必须基于C#或.rpt文件

==编辑===

我在另一台打印机(RICOCH)上测试了我的案例,它可以在横向环境中正确打印。我使用ZEBRA ZTC S4M-200dpi ZPL,它打印portait而不是横向。所以也许Zebra驱动程序与.Net不完全兼容

==编辑===

我注意到,如果纸张大小设置正确,斑马印报告正确。因此,以下代码起作用:

...
System.Drawing.Printing.PrinterSettings printersettings = new   System.Drawing.Printing.PrinterSettings();
printersettings.DefaultPageSettings.Landscape = true
System.Drawing.Printing.PageSettings pageSettings = new System.Drawing.Printing.PageSettings();
...
pageSettings.PaperSize = new System.Drawing.Printing.PaperSize("name", 400, 600);
rp.PrintToPrinter(printersettings, pageSettings, false);
其中400为宽度,600为纵向高度,单位为百分之一英寸。所以C#应用程序需要从报告中检索页面宽度、页面高度和页面方向。我不知道如何检索这些参数。我问了一下

这对我很有用:

            cryRpt.PrintOptions.PaperSource = PaperSource.Auto;
            cryRpt.PrintOptions.PaperSize = PaperSize.DefaultPaperSize;
            cryRpt.PrintOptions.PaperOrientation = PaperOrientation.Landscape;

似乎是打印机设置问题。您可以检查打印机中的页面方向设置吗?无论打印机中的方向设置是什么,Crystal Designer都以横向方向打印,C#以纵向方向打印。