票据上热敏打印机顶部的空白 space
Blank space at the top of the thermal printer on bills
我正在尝试为我的 POS 应用程序创建一个 KOT,一切正常,但由于某种原因,帐单顶部有一个奇怪的 space,这个 space 大小固定为 15 厘米,如果我使用 visual studio 从 Main Report View
打印报告,而没有 运行 应用程序,它打印正常,没有 spaces,但如果我尝试从运行 应用程序我总是在顶部得到 15 厘米的空白 space,我试图从我在正常打印之前构建的不同应用程序打印帐单。
我在网上搜索时尝试了不同的方法,但无法解决问题。
我正在使用此代码打印帐单:
KOT Rtp = new KOT();
if (Rtp.DataDefinition.ParameterFields.Count > 0)
{
foreach (ParameterFieldDefinition crDef in Rtp.DataDefinition.ParameterFields)
{
if (crDef.ReportName == string.Empty)
{
object objValue = "16";
Rtp.SetParameterValue(crDef.ParameterFieldName, objValue);
}
}
}
ConnectionInfo crConn = new ConnectionInfo();
crConn.ServerName = Properties.Settings.Default.server;
crConn.DatabaseName = Properties.Settings.Default.database;
crConn.UserID = Properties.Settings.Default.user;
crConn.Password = Properties.Settings.Default.password;
// get the Report Tables
Tables crTables = Rtp.Database.Tables;
// get the Report Tables
_ = Rtp.Database.Tables;
for (int i = 0; i < crTables.Count; i++)
{
Table crTable = crTables[i];
TableLogOnInfo tblInfo = crTable.LogOnInfo;
tblInfo.ConnectionInfo = crConn;
crTable.ApplyLogOnInfo(tblInfo);
}
// then display the Report - here I am using a Crystal Reports Viewer in a Windows Form
//var frm = new Form1();
//frm.CrystalReportViewer1.ReportSource = Rtp;
//frm.ShowDialog();
CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions popt = new CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions();
popt.PrinterName = "SGT-88IV Printer(2)";
Rtp.ReportClientDocument.PrintOutputController.PrintReport(popt);
这是我从应用程序打印时得到的账单:
这是我在 visuals studio 中从 Main Report Preview 打印时得到的账单:
这是我的页面设置:
我通过进入打印机设置并将高级选项中的纸张尺寸从 Printer 80 (72mmx800mm)
更改为 Printer 80 (72mmx210mm)
解决了我的问题。
我正在尝试为我的 POS 应用程序创建一个 KOT,一切正常,但由于某种原因,帐单顶部有一个奇怪的 space,这个 space 大小固定为 15 厘米,如果我使用 visual studio 从 Main Report View
打印报告,而没有 运行 应用程序,它打印正常,没有 spaces,但如果我尝试从运行 应用程序我总是在顶部得到 15 厘米的空白 space,我试图从我在正常打印之前构建的不同应用程序打印帐单。
我在网上搜索时尝试了不同的方法,但无法解决问题。
我正在使用此代码打印帐单:
KOT Rtp = new KOT();
if (Rtp.DataDefinition.ParameterFields.Count > 0)
{
foreach (ParameterFieldDefinition crDef in Rtp.DataDefinition.ParameterFields)
{
if (crDef.ReportName == string.Empty)
{
object objValue = "16";
Rtp.SetParameterValue(crDef.ParameterFieldName, objValue);
}
}
}
ConnectionInfo crConn = new ConnectionInfo();
crConn.ServerName = Properties.Settings.Default.server;
crConn.DatabaseName = Properties.Settings.Default.database;
crConn.UserID = Properties.Settings.Default.user;
crConn.Password = Properties.Settings.Default.password;
// get the Report Tables
Tables crTables = Rtp.Database.Tables;
// get the Report Tables
_ = Rtp.Database.Tables;
for (int i = 0; i < crTables.Count; i++)
{
Table crTable = crTables[i];
TableLogOnInfo tblInfo = crTable.LogOnInfo;
tblInfo.ConnectionInfo = crConn;
crTable.ApplyLogOnInfo(tblInfo);
}
// then display the Report - here I am using a Crystal Reports Viewer in a Windows Form
//var frm = new Form1();
//frm.CrystalReportViewer1.ReportSource = Rtp;
//frm.ShowDialog();
CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions popt = new CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions();
popt.PrinterName = "SGT-88IV Printer(2)";
Rtp.ReportClientDocument.PrintOutputController.PrintReport(popt);
这是我从应用程序打印时得到的账单:
这是我在 visuals studio 中从 Main Report Preview 打印时得到的账单:
这是我的页面设置:
我通过进入打印机设置并将高级选项中的纸张尺寸从 Printer 80 (72mmx800mm)
更改为 Printer 80 (72mmx210mm)
解决了我的问题。