我正在尝试使用动态内容打印标签。打印工作正常,但问题是打印本身(字体)扭曲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);
有谁知道这样的问题或可能的解决方案?
建议非常感谢:)
答案 0 :(得分:0)
我曾经遇到过同样的问题,但从未使用过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;