this is the code:
try
{
DataTable dtCompany = ObjBL.getCompany();
decimal Vl;
Vl = 0;
Font PrintFont;
clsCommon.getPrinter("[Rec]");
Position = 0;
PrintFont = new Font("Calbri", 10, FontStyle.Bold);
Position = 75;
if (dtCompany.Rows.Count > 0)
{
PrintFont = new Font("ARIAL", 10, FontStyle.Bold);
e.Graphics.DrawString("" + dtCompany.Rows[0]["Company_name"].ToString() + "", PrintFont, Brushes.Black, 75, Position);
Position = Position + 20;
PrintFont = new Font("Calbri", 9, FontStyle.Regular);
e.Graphics.DrawString("" + dtCompany.Rows[0]["Address"].ToString() + "", PrintFont, Brushes.Black, 60, Position);
Position = Position + 14;
e.Graphics.DrawString("" + dtCompany.Rows[0]["Telephone"].ToString() + "", PrintFont, Brushes.Black, 60, Position);
Position = Position + 14;
e.Graphics.DrawString("" + dtCompany.Rows[0]["Street"].ToString() + "", PrintFont, Brushes.Black, 60, Position);
Position = Position + 14;
e.Graphics.DrawString("" + dtCompany.Rows[0]["Email"].ToString() + "", PrintFont, Brushes.Black, 60, Position);
Position = Position + 14;
}
PrintFont = new Font("ARIAL", 10, FontStyle.Bold);
e.Graphics.DrawString("Sales Invoice", PrintFont, Brushes.Black, 75, Position);
PrintFont = new Font("Calbri", 9, FontStyle.Bold);
Position = Position + 20;
e.Graphics.DrawString("V No :" + dudSVno.Text + "", PrintFont, Brushes.Black, 40, Position);
Position = Position + 25;
e.Graphics.DrawString("Date: " + dtpDate.Value.ToString("dd-MMM-yyyy") + " Time :" + DateTime.Now.ToString("hh:mm tt") + " ", PrintFont, Brushes.Black, 40, Position);
Position = Position + 25;
PrintFont = new Font("Calbri", 5, FontStyle.Regular);
e.Graphics.DrawString("==========================================================", PrintFont, Brushes.Black, 30, Position);
Position = Position + 10;
PrintFont = new Font("ARIAL", 9, FontStyle.Regular);
e.Graphics.DrawString("Srl", PrintFont, Brushes.Black, 40, Position);
e.Graphics.DrawString("Item", PrintFont, Brushes.Black, 100, Position);
e.Graphics.DrawString("Tax", PrintFont, Brushes.Black, 150, Position);
e.Graphics.DrawString("Price", PrintFont, Brushes.Black, 200, Position);
e.Graphics.DrawString("Qty", PrintFont, Brushes.Black, 100, Position);
e.Graphics.DrawString("Gross", PrintFont, Brushes.Black, 150, Position);
e.Graphics.DrawString("Discount", PrintFont, Brushes.Black, 200, Position);
e.Graphics.DrawString("Grand Total", PrintFont, Brushes.Black, 200, Position);
Position = Position + 15;
PrintFont = new Font("Calbri", 5, FontStyle.Regular);
e.Graphics.DrawString("==========================================================", PrintFont, Brushes.Black, 30, Position);
Position = Position + 10;
string S;
PrintFont = new Font("ARIAL", 8, FontStyle.Regular);
for (int i = 0; i < dgSales.Rows.Count; i++)
{
e.Graphics.DrawString(dgSales.Rows[i].Cells[2].Value.ToString(), PrintFont, Brushes.Black, 40, Position);
S = (string)(AlignPosition(dgSales.Rows[i].Cells[3].Value.ToString()));
S = (string)(GetPosition(S));
Position = Position + 20;
e.Graphics.DrawString