Search code examples
phpprintingthermal-printerprinter-control-language

tpcl(TEC Printer Command Language) [ESC]PC align left


I want to send a label to my tec printer using php and LPR. Everything is working fine, except the alignment of some parts. My code/label as is:

{D0478,0600,0400,0640|}
{C|}
    {PC01;0040,0135,05,05,J,00,B=Item number: xxxxxx|}
    {PC02;0040,0170,05,05,I,00,B= Brand Model ExtraInfo|}
    {PC03;0040,0205,05,05,I,00,B=Optional Second Line|}
    {PC04;0465,0270,05,05,J,00,B=Eurosign?? Price|}
    {PC04;0380,0315,05,05,I,00,B=excl. btw (vat)|}
{XS;I,0001,0002C6101|}

So the manual of the [ESC]PC says this:

Full manual can be find here (content on page 50-56): Manual

[ESC] PCaaa; bbbb, cccc, d, e, ff (,ghh), ii, j (, Jkkll) (, Mm) (, noooooooooo)(, Zpp) (, Pq)(=rrr------rrr) [LF] [NUL]

...Skipping first part...

J: Character attribution

    B: Black character
    W (aabb): Reverse character
       aa: No. of dots from the character string to the end 
           of the black background in the horizontal direction
       bb: No. of dots from the character string to the end 
           of the black background in the vertical direction
              aa: 01 to 99 (in units of dots)
              bb: 01 to 99 (in units of dots)
    F (aabb): Boxed character
       aa: No. of dots from the character string area to 
           the box in the horizontal direction
       bb: No. of dots from the character string area to
           the box in the vertical direction
               aa: 01 to 99 (in units of dots)
               bb: 01 to 99 (in units of dots)
    C (aa): Stroked out character
        aa: No. of dots from the character string area to
            the end of the stroke
        aa: 01 to 99 (in units of dots)
    * Descriptions in parentheses are omissible.
    (If omitted, it is character magnification (horizontal or 
    vertical magnifications, whichever is larger) × 6 dots.)

...Again skipping...

Pq: Alignment

(Omissible, When omitted, the alignment is set to left.)
    q: Designates the character position
        1: Left
        2: Center
        3: Right
        4aaaa: Justification
            aaaa: Character string area of X direction
                  0050 to 1040 (in 0.1 mm units)
        5aaaabbbcc: Automatic line feed
            aaaa: Character string area of X direction
                  0050 to 1040 (in 0.1 mm units)
            bbb: Line feed spacing
                 010 to 500 (in 1 mm units)
            cc: Number of lines
                01 to 99
rrr------rrr: Data string to be printed (Omissible)
              Max. 255 digits 

Full manual can be find here (content on page 50-56): Manual

Now, after all that text. How can i manage to align the text right?

And as a bonus question ;)

How can i use an €(euro) sign.

The manual says to use B0H.. I tried, but no solution yet.

Thanks in advance!


Solution

  • I found the answer..
    Just need t learn to read.

    {PC04;0465,0270,05,05,J,00,B=Eurosign?? Price|}
    

    Should be

    {PC04;0465,0270,05,05,J,00,B,P3=Eurosign?? Price|}
    

    The = sign means starting of the string to we shown with a max of 225 digits.