C# &引用;转;使用打印机打印使用C设置#

C# &引用;转;使用打印机打印使用C设置#,c#,printing,telerik-reporting,C#,Printing,Telerik Reporting,我正在尝试打印带有动态内容的标签。打印效果很好,但问题是打印本身(字体)扭曲了90度。看起来是这样的: 但它应该是这样的: 我无法更改打印机的设置,因为其他标签打印不正确。所以我想这一定是代码里的东西。你可以在这里观看C代码: System.Drawing.Printing.PrinterSettings printerSettings = new System.Drawing.Printing.PrinterSettings(); printerSettings.PrinterName

我正在尝试打印带有动态内容的标签。打印效果很好,但问题是打印本身(字体)扭曲了90度。看起来是这样的:

但它应该是这样的:

我无法更改打印机的设置,因为其他标签打印不正确。所以我想这一定是代码里的东西。你可以在这里观看C代码:

System.Drawing.Printing.PrinterSettings printerSettings = new System.Drawing.Printing.PrinterSettings();

printerSettings.PrinterName = @"\\server\printer";
printerSettings.Copies = Convert.ToInt16((Convert.ToInt16(row.Cells["Counter"].Value.ToString()) - 1));

System.Drawing.Printing.PrintController standardPrintController = new System.Drawing.Printing.StandardPrintController();

Telerik.Reporting.Processing.ReportProcessor reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
reportProcessor.PrintController = standardPrintController;
Telerik.Reporting.InstanceReportSource instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = myReport;
reportProcessor.PrintReport(instanceReportSource, printerSettings);
有人知道这样的问题或可能的解决方案吗


非常感谢您的建议:)

我曾经遇到过同样的问题,但从未使用过Telerik。我试图用PrintServer对象打印XPS文件,并想出了这个解决方案来旋转打印

基本上,我在为用户打印之前更改队列的页面方向,然后再更改回来

这可能对你也有用

PrintServer ps = new PrintServer("\\\\somePrintServer");
var queue = ps.GetPrintQueue("printerShareName");
var oldOrientation = queue.UserPrintTicket.PageOrientation;
queue.UserPrintTicket.PageOrientation = PageOrientation.Landscape;
//print job here
queue.UserPrintTicket.PageOrientation = oldOrientation;

什么是“礼节”?对不起,我弄错了。我选择了错误的翻译:)我的意思是你在使用第三方库吗?你应该在你的问题中提到这一点。了解打印是如何执行的很重要,这可能是
PrintReport
function中的代码我编辑了问题中的代码。我正在为
reportProcessor.PrintReport()
methodOK使用
Telerik
,我已经为您添加了相应的标记。我在图书馆方面没有足够的经验来提供进一步的帮助,但希望有人会来帮助我