gpt4 book ai didi

java - 使用 CPCL 在 Zebra 打印机上打印 PCX 图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:00 24 4
gpt4 key购买 nike

我真的花了很多时间来了解如何在 Zebra 打印机上(通过网络)使用 CPCL 打印 PCX 图像,而无需将图像下载到打印机。

在我看来,文档中的示例非常晦涩。

我附上了一个示例类来展示如何简单地打印图像。它需要在您的类路径上有一个“zebra.pcx”图像。

希望对您有所帮助。

最佳答案

import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;

public class PrintZebraPCXImage {

public static void main(String[] args) throws Exception {
PrintZebraPCXImage instance = new PrintZebraPCXImage();
instance.print("192.168.1.133", 6101);
}

public void print(String address, int port) throws Exception {
Socket socket = null;
DataOutputStream stream = null;

socket = new Socket(address, port);

try {
stream = new DataOutputStream(socket.getOutputStream());
ByteArrayOutputStream bos = readFileToString(this.getClass().getClassLoader().getResourceAsStream("zebra.pcx"));

stream.writeBytes("! 0 200 200 300 1\r\n");
stream.writeBytes("PCX 20 0\r\n");

stream.write(bos.toByteArray());
stream.writeBytes("PRINT\r\n");

} finally {
if (stream != null) {
stream.close();
}
if (socket != null) {
socket.close();
}
}
}

public ByteArrayOutputStream readFileToString(InputStream is) {
InputStreamReader isr = null;
ByteArrayOutputStream bos = null;
try {
isr = new InputStreamReader(is);
bos = new ByteArrayOutputStream();

byte[] buffer = new byte[2048];
int n = 0;
while (-1 != (n = is.read(buffer))) {
bos.write(buffer, 0, n);
}

return bos;
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
if (isr != null) {
try {
isr.close();
} catch (IOException e) {
}
}
if (is != null) {
try {
is.close();
} catch (IOException e) {
}
}
}
}
}

关于java - 使用 CPCL 在 Zebra 打印机上打印 PCX 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21342869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com