Epson Thermal Printing

Morning,

I want to be able to print some text to the far left.

Example
1 x Bread                      £1.00        

But if my middle text is longer then it miss-aligns the £0.00

Example

1 x Bread                      £1.00        
1 x Newspaper                   £1.00

I need to have the £1.00 all align to the left no matter how many chars there are. I am using the Epson ESC commands to the printer directly via the serial port.

What command should I be using? Also does anyone know of any good examples on the www?

I am using vb.net
richard_garAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

BALMUKUND KESHAVCommented:
@  richard_gar :

How are you formating your output in your application. Are you using VBA ? Pl.put your print command /function which you are using in your APP.
Infact you will have to use rset function to right set the variable's value , before sending it to printer.

Bm Keshav
0
richard_garAuthor Commented:
below is my code.

I need to be able to put the following to the far left of the receipt

txtNetSales1.Text
txtNetQty1.Text
txtCash1.Text
TextBox2.Text
txtGrossSales1.Text
txtGrossQty1.Text
        Try
 
            Dim strCom As String
            Dim strBaudRate As String
 
            strCom = "COM" & Form1.txtPort.Text()
            strBaudRate = Form1.txtBaud.Text
 
            With serialPort
                .PortName = strCom
                .BaudRate = strBaudRate
                .Parity = IO.Ports.Parity.None
                .DataBits = 8
                .StopBits = IO.Ports.StopBits.One
            End With
 
            serialPort.Open()
 
            'Init the printer
            serialPort.Write(Chr(27) & Chr(31) & Chr(1))
            serialPort.Write(Chr(27) & Chr(82) & Chr(0))
            serialPort.Write(Chr(29) & Chr(33) & Chr(0))
 
            'Print the report
            serialPort.Write("                              MC #" & txtTill1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write(" X/Z  " & txtTillUser1.Text & "   " & txtDate1.Text & " " & txtTime1.Text & "    " & TextBox1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" Inline                              11111")
            serialPort.Write(Chr(10))
            serialPort.Write(" Consolidation                        1000")
            serialPort.Write(Chr(10))
            serialPort.Write(" MC #02            " & txtTime1.Text & "              1375")
            serialPort.Write(Chr(10))
            serialPort.Write(" MC #01            " & txtTime1.Text & "              1372")
            serialPort.Write(Chr(10))
            serialPort.Write(" -----------------------------------------")
            serialPort.Write(Chr(10))
            serialPort.Write(Chr(27) & Chr(82) & Chr(3))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" CZ    0001311  FIXED TTL             " & TextBox2.Text)
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" GROSS                 " & txtGrossQty1.Text & "      " & txtGrossSales1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write(" NET             No    " & txtNetQty1.Text & "      " & txtNetSales1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write(" CASH                            " & txtCash1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" -----------------------------------------")
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" CZ    0001315  DEPT                  " & TextBox3.Text)
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" WET SALES             " & txtWetQty1.Text & "      " & txtWetSales1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write(" FOOD                  " & txtDryQty1.Text & "      " & txtDrySales1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write(" -----------------------------------------")
            serialPort.Write(Chr(10))
            serialPort.Write(" TL                    " & TextBox4.Text & "      " & txtTotalDeptQty1.Text)
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write(" -----------------------------------------")
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write("                  Normal End")
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))
            serialPort.Write("")
            serialPort.Write(Chr(10))

Open in new window

0
BALMUKUND KESHAVCommented:
You format your line like this :

   Grossq = Space(10)
   Grsosss=Space(10)
   RSet Grossq = Format(txtGrossQty1.text, "########0.0")
   RSet Grosss = Format(txtGrosssales1.text, "########0.0")
   serialPort.Write(" GROSS                 " +Grossp+"   "+Grosss)

The above line will adjust your grossqty, and gross sales value from right alignment with proper spacing
of 10, now you can calcualate the lenght of your item description and can put max.space-calculated space between the item description and gross qty/gross sale

Bm Keshav
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

richard_garAuthor Commented:
how is that going to work?

As if I have 10 spaces between them

it would like so:

1 x  bread          £1.00
1 x newspaper          £1.00

you see I have 10 spaces from bread and newspaper I need a way to make the £1.00 be at the far left of the receipt no matter how many chars there are before it.

The description of the product will never be more than 255 chars.

Is there a way to tell the £1.00 to print to the far left no matter how many chars there are in the description like so:

1 x bread             £1.00
1 x newspaper    £1.00
0
BALMUKUND KESHAVCommented:
Do it like this :
   Grossq = Space(10) ' It will assign space 10 for Gross qty value/width
   Grsosss=Space(10)  'It will assign space 10 for Gross sales value/width

   RSet Grossq = Format(txtGrossQty1.text, "########0.0")
   RSet Grosss = Format(txtGrosssales1.text, "########0.0")

   serialPort.Write(trim(itemdescription)+space(100-trim(itemdescription))+Grossq

Assume your max item description length in your table is 100, increase/decrease this number  if req. to increase/decrease space between item description and gross qty.

Bm Keshav



0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
BALMUKUND KESHAVCommented:
@ richard_gar :
 Any progress !!!!!!
Bm Keshav
0
richard_garAuthor Commented:
soz I will give it a go
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.