我最近将一个未知版本的 Crystal Report 更新到 v13。此报告使用 6"x4" 标签(从标签打印机出来时为 6" 长,4" 宽)打印到 Zebra TLP2844 标签打印机。在更新之前,一切正常。之后,我无法横向打印标签。无论我使用什么设置,我总是得到肖像。
以下是我在 Visual Studio 2010 中的设置:
我的打印代码:
public void print_label(CTapeID myTape)
{
_myTape = myTape;
LabelReport crystalPrint; // name of report class
CPrinterObject po;
CPrinterInfo pi;
String printerType = "LABEL_4060";
LabelInfo cpd; // name of dataset class for the report
try
{
crystalPrint = new LabelReport();
crystalPrint.ReportOptions.EnableSaveDataWithReport = false;
po = new CPrinterObject();
pi = po.FindPrinter(printerType);
if(pi != null)
{
crystalPrint.PrintOptions.PrinterName = pi.PrinterName;
}
crystalPrint.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;
cpd = GetLabelData();
crystalPrint.SetDataSource((DataSet)cpd);
crystalPrint.PrintToPrinter(1, false, 1, 0);
crystalPrint.Close();
crystalPrint.Dispose();
}
catch(Exception ex)
{
ex.Source = MethodBase.GetCurrentMethod().Name + "(): " + ex.Source;
throw ex;
}
}
CPrinterObject
并且CPrinterInfo
是获取打印机名称和属性的内部类。