【发布时间】:2010-07-14 21:22:29
【问题描述】:
我设计了一个水晶报告,它将通过网络界面发送到特定的(条形码)打印机。允许在标准水晶报表查看器中生成报表会导致问题,因此我现在使用代码隐藏将报表直接发送到打印机。
ReportDocument Report = new ReportDocument();
ParameterDiscreteValue Order = new ParameterDiscreteValue();
Order.Value = Convert.ToInt32(txtOrder);
Report.Load(reportPath);
Report.SetParameterValue("OrderNo", Order);
PageMargins margins;
margins = Report.PrintOptions.PageMargins;
margins.bottomMargin = 0;
margins.leftMargin = 0;
margins.rightMargin = 0;
margins.topMargin = 0;
Report.PrintOptions.ApplyPageMargins(margins);
Report.PrintOptions.PrinterName = "\\\\printserver\\Zebra Z6M Plus (300dpi)";
Report.PrintToPrinter(1, false, PageNum, PageNum);
Report.Close();
从设计器 (CRXI) 打印时,一切正常,但当 Web 界面将作业发送到打印机(任何打印机)时,它会将字体更改为 Times New Roman,这会弄乱所有字段大小。如果我使用标准的 .NET 报表查看器,它会使用正确的字体,所以我很确定更改是由创建/使用 ReportDocument 引起的。
我怎样才能将报告直接发送到印刷品而不会将字体默认为 Times New Roman?
【问题讨论】:
-
您的打印机驱动程序是最新的吗?
-
是的,我确保驱动程序是最新的,并且可以从 Crystal 设计器中正常工作,而不是通过背后的 .NET 代码。
标签: crystal-reports fonts zebra-printers reportdocument