我正在通过 IP 在 Intermec 打印机上打印标签,并被要求在标签上添加我们公司的徽标。在其他应用程序中,我能够分解位图并发送原始 ZPL,但在 IPL 中我无法弄清楚。我也愿意将图像保存在打印机上,但我不知道如何检索它进行打印。这是我的简单程序,任何帮助都会很棒!
Dim clientSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
clientSocket.Connect(New IPEndPoint(IPAddress.Parse(IP), 9100))
Dim Format As String = "<STX><ESC>C<ETX> Select Advanced mode" &
"<STX><ESC>P<ETX> Enter Program mode" &
"<STX>E22;F22;<ETX> Erase format 22, create format 22" &
"<STX>H0;o520,50;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 0" &
"<STX>H1;o520,90;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 1" &
"<STX>H2;o520,130;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 2" &
"<STX>H3;o50,340;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 3" &
"<STX>H4;o50,380;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 4" &
"<STX>H5;o50,420;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 5" &
"<STX>H6;o50,535;f0;c26;h12;w12;d0,50;<ETX> Edit/create human-readable field 6" &
"<STX>L8;o30,30;f0;l760;w3;<ETX> Edit/create line field 8" &
"<STX>L9;o30,580;f0;l760;w3;<ETX> Edit/create line field 9" &
"<STX>L10;o790,31;f3;l550;w3;<ETX> Edit/create line field 10" &
"<STX>L11;o29,580;f1;l550;w3;<ETX> Edit/create line field 11" &
"<STX>R;<ETX> Save format and exit to Print mode"
Dim PrintData As String = "<STX><ESC>E22<ETX> Access format 22" &
"<STX><CAN><ETX> Erase all data" &
"<STX>DATE: 7/17/2020<CR><ETX> Data for human-readable field 0" &
"<STX>LWO # 118826<CR><ETX> Data for human-readable field 1" &
"<STX>QUANTITY: 5<CR><ETX> Data for human-readable field 2" &
"<STX>LEE P/N & REV: PCHX0024024S A<CR><ETX> Data for human-readable field 3" &
"<STX>DESCRIPTION:<CR><ETX> Data for human-readable field 4" &
"<STX>LEE RELIEF VALVE, 8mm, INSERT, REVERSE, 241 BAR<CR><ETX> Data for human-readable field 5" &
"<STX>CUSTOMER: Parker Hannifin<CR><ETX> Data for human-readable field 6" &
"<STX><RS><ETB><ETX> Print "
Dim Label As String = Format & PrintData
clientSocket.Send(Encoding.UTF8.GetBytes(Label))
clientSocket.Close()