2016-06-06 1 views
2

주어진 PNG 이미지를 인쇄하는 ZPL2 코드를 만들고 싶습니다. 예를 들어 보았습니다. Labelary Online (http://labelary.com). 그러나 정확한 이미지 코딩을 만들 수 없습니다. I는 B/W 이미지 내 PNG를 변환 된 진수 문자열로 바이트 배열을 변환이처럼 삽입 :이 아니라 실제 프린터의 Labelary - 온라인 - 미리보기 작동ZPL을 만들어 Java에서 PNG 이미지를 인쇄하십시오.

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
ImageIO.write(bwImage, "png", baos); 
byte[] bytes = baos.toByteArray(); 
System.out.println("^XA^GFA," + bytes.length + "," + bytes.length + "," + bytes.length/8 + "," + getHexString(bytes) + "^XZ"); 

합니다. 두 번째 요점은 Labelary-Website에 이미지를 삽입하면 Hex-String이 내 모습과 많이 달라 보이는 것입니다. (심지어 16 진수 문자열이 아닙니다.)

+0

이 게시물을 본 적이 있습니까? http://stackoverflow.com/questions/15156671/how-to-use-the-dg-command-send-image-to-a-zebra-printer-in-java/39976075#39976075 – PbxMan

답변

0

http://labelary.com을 인라인 이미지 변환기로 사용했습니다. '이미지 추가'를 사용하여 이미지 데이터를 선택하고 * .grf 파일에 저장합니다.

Labelary를 사용하지 않으려면 Zebra 설정 유틸리티를 사용하고 이미지를 https://km.zebra.com/kb/index?page=content&id=SO7892 다음의 * .grf로 변환 할 수 있습니다.

+0

응답 해 주셔서 감사합니다. 다른 시스템으로 보내려면 전체 zpl 코드가 필요하며이 타사 시스템에서 프린터로 보냅니다. 그래서 전체 zpl 코드가 하나의 문자열로 필요합니다. Java에서 이미지를 올바르게 변환하는 방법을 모르겠습니다. – Sven

+0

좀 더 자세히 살펴 보았고 Java 용 Zebra Link OS SDK (https://www.zebra.com/us/en/products/software/barcode-printers/link-os/link-os)를 사용할 수있었습니다. -sdk.html), 이미지를 * .grf로 변환하는 유틸리티가 있습니다. –

+0

네,하지만 주위에 zpl 코드가 필요합니다. grf 뿐만이 아닙니다. 예 : Labelary에서 다음 작품 : '^ XA^GFA, 121,121,15,89504e470d0a1a0a0000000d4948445200000050000000500100000000a66acf00000000404944415478da63f80f070ca34c18f31f0342f4f9fffff3b1308f1fe6873177ef848bd6ee4730e7c3998c87e1ccfa9f08057fe14ccbbd48e69e1f8d80e1cb0400fa1d10240f242dc00000000049454e44ae426082^XZ'하지만이 왜곡 프린터입니다. – Sven

관련 문제