如何将.rdlc(SSRS)报告打印为双工模式?

时间:2013-11-09 12:54:00

标签: c# printing reporting-services

我需要以双工模式打印报告(.rdlc)。报表查看器始终以“单工模式”打印报表。我需要以双工模式打印报告。

我已将报告呈现为PDF。

就是这样:

 byte[] bytes = reportViewer1.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings);

此报告包含图像和字符!

如果报告包含多个页面,我需要在页面背面打印它。 例如:

page 1 - paper 1 front side
page 2 - paper 1 back side
page 3 - paper 2 front side
page 4 - paper 2 back side.....................etc.

如何在双面模式下打印此报告...? 任何建议将不胜感激!

提前致谢。 :)

4 个答案:

答案 0 :(得分:0)

这完全取决于代码控制之外的因素。您需要依赖于SSRS / C#代码中不可用的打印机设置。

答案 1 :(得分:0)

您可以使用Duplex ModeC#打印。使用PrintDocument中的System.Drawing.Printing课程。

PrintDocument printDoc = new PrintDocument();
printDoc.PrinterSettings.CanDuplex = true;

答案 2 :(得分:0)

首先感谢您的支持,

我从这里得到了解决方案: http://msdn.microsoft.com/en-us/library/ms252091.aspx

实际上,我没有向用户显示报告查看器以选择打印选项。只有一个打印按钮(Windows应用程序)供用户执行打印操作,我上面提到的所有功能都将通过代码在内部执行。

我刚从这段代码中调整了一些逻辑来执行双面模式打印和设置纸张尺寸,它的工作正常! !!

对于印刷(对我来说是A5纸)=>

 printDoc.DefaultPageSettings.PaperSize = new PaperSize("PaperA5", 583, 827); 
 printDoc.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
 printDoc.PrinterSettings.Duplex = Duplex.Vertical;
 printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
 printDoc.Print();

谢谢,))

答案 3 :(得分:0)

以下是使用ReportViewer控件处理本地报告的解决方案:

Me.ctlReportViewer.PrinterSettings.Duplex = Printing.Duplex.Vertical