Printer Control Language - Printing image x y coordinates

616 views Asked by At

I am trying to print an image using LPR in the Windows command line and I am unable to get the x y coordinates to change. I have read the HP documentation and it looks like *p#X *p#Y is the syntax. I try this with text and it works fine, but as soon as I try this with an image it does not change from 0,0 no matter what numbers I enter in. Here is what the content looks like.

   %-12345X@PJL USTATUS DEVICE CODE=40020@PJL COMMENT Source Technologies ST-912@PJL SET PAGEPROTECT = AUTO@PJL SET LIMAGEENHANCE = OFF@PJL SET LCOLLATION = OFF@PJL SET LMULTIPAGEPRINT = OFF@PJL SET LPARM : PCL LFONTCOMPATIBILITY = PCL5@PJL LJOBINFO USERID = "SYSTEM" HOSTID = "WOW"@PJL SET RESOLUTION = 600@PJL SET TIMEOUT=0@PJL ENTER LANGUAGE=PCL
E&u600D*t600R&l3A&l0o0.08c150e8144F&l7H&l1X

PA250.250&%STHPASSWORD$ &%1B$&l0o0.8c150e6336F *p250X*p750Y&%1B266C3178307331683261363666306F3165316C382E3030431B2661304C1B28733130481B266B31322E3030481B266631793358$


&%STQ$
*p250X*p750YCOLEMAN, JANE$

You will notice that there is a COLEMAN, JANE at the bottom which does change correctly based on the coordinates in front of it. The top part is the image converted using reaConverter. The image prints correctly, but is always at the top left. I am trying to alter the p250Xp750Y part but it doesn't do anything.

Thanks in advance.

1

There are 1 answers

0
Thomas Lovhoiden On

I've done some minor work in PCL, and it's universally a pain. Because it's a language based on escape codes those asterisks are actually a hexdecimal input for the character 'ESC'. In order for printers to correctly interpret commands, you need to send the commands in hexdecimal or byte format, and I'm don't know how to do that using the command line.

This link has one of the references I used for the escape sequences. From what I understand, PJL is socketed inside of standard PCL. Therefore, since your primary initialization code says you need to use PCL5, a lot of time staring at manuals.

In summary, the escape codes need to be sent properly, and your commands must be formatted exactly as the printer expects them.