我正在尝试使用来自 MSDN ( Link ) 的源代码,通过将报告导出到 (EMF
),直接将 RDLC
报告打印到 POS 打印机图像,然后使用 PrintDocument
将图像打印到打印机,我根据行数计算报告的高度(一行的高度 = 0.6 厘米)。
问题是当报告太长(超过一页)时,我将它的行缩小(压缩)到彼此。
如何解决这个问题? 我是否必须使用 POS 打印机库 (.NET POS) 而不是将报告导出到图像并打印图像? . 您可以从 ( Here) 下载源代码。
提前致谢。
最佳答案
我通过改变纸张的大小解决了这个问题:
PaperSize pkCustomSize = new System.Drawing.Printing.PaperSize("Custom Paper Size", Convert.ToInt32((WidthInInCM / 2.54) * 100), Convert.ToInt32((HeightInInCM / 2.54) * 100));
printDoc.DefaultPageSettings.PaperSize = pkCustomSize;
printDoc.DefaultPageSettings.Margins.Top = 0;
printDoc.DefaultPageSettings.Margins.Bottom = 0;
printDoc.DefaultPageSettings.Margins.Left = 0;
printDoc.DefaultPageSettings.Margins.Right = 0;
if (!printDoc.PrinterSettings.IsValid)
{
String msg = String.Format("Can't find printer \"{0}\".", PrinterName);
MessageBox.Show(msg, "Print Error");
return;
}
printDoc.PrinterSettings.DefaultPageSettings.PaperSize = printDoc.DefaultPageSettings.PaperSize;
printDoc.PrinterSettings.DefaultPageSettings.Margins = printDoc.DefaultPageSettings.Margins;
您可以从 ( here) 下载更新的源代码。
关于c# - RDLC 报表直接打印到 POS 打印机时为什么报表会缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13998813/