2013-08-27 7 views
1

튜토리얼 here에 기반하여 jZebra를 사용하여 Epson T88V 영수증 프린터에 HTML과 PostScript를 개별적으로 인쇄 할 수 있습니다. 같은 라벨에 두 가지 인쇄 방법을 사용하고 싶습니다. 텍스트는 HTML &, 레이아웃은 바코드 렌더링을위한 PostScript입니다. 불행히도 나는 같은 레이블에 둘 다 인쇄하는 것이 아니라 하나만 인쇄 할 수 있습니다. 텍스트 만이 인쇄 될 때-I이 코드를 실행하면jZebra를 사용하여 동일한 영수증에 HTML 및 포스트 스크립트 인쇄

// Text print 
applet.appendHTML('<html><table face="monospace" border="1px"><tr height="6cm">' + 
       '<td valign="top">' + [some var value] + '</td>' + 
        '<td valign="top">' + [some other var value] + '</td>' + 
        '</tr></table></html>'); 
applet.printHTML(); 

// Barcode print 
applet.append("\x1D\x77\x02\x1D\x6B\x49\x11\x7B\x41\x4C000288496\x508149"); 
applet.print(); 

: 여기

는 인쇄 버튼 클릭 이벤트에 포함 된 JS이다. 텍스트 인쇄 라인을 주석 처리하면 바코드가 인쇄됩니다.

첫 번째 인쇄 후 applet.clear();을 사용해 보았지만 인쇄 순서를 변경해 보았지만 아무 것도 변경되지 않았습니다. 한 번에 바코드와 텍스트를 인쇄하는 방법이 있습니까?

답변

1

예 요청할 수 있지만 HTML과 ESC/P 명령을 혼용해서 사용하면 안됩니다. 인쇄 텍스트에 대해서는 프린터 제조업체에서 제공 한 ESC/P 프로그래머 용 설명서를 참조하십시오.

여기에 jBebra 위키에서 가져온 ESCPCommands의 샘플과 간단한 설명이 나와 있습니다. 여기

  • applet.append("\x1B\x40"); // 1 
    applet.append("\x1B\x21\x08"); // 2 
    applet.append(" International \r\n"); 
    applet.append(" Company \r\n"); 
    applet.append("\x1B\x21\x01"); // 3 
    applet.append(" ************************************************** \r\n"); 
    applet.append("Info: 42972\r\n"); 
    applet.append("Info: Kommm\r\n"); 
    applet.append("Datum: 14:00 01/02\r\n"); 
    applet.append(" -------------------------------------------------- \r\n"); 
    applet.append("Info: 42972\r\n"); 
    applet.append("Info: Kommm\r\n"); 
    applet.append("Datum: 14:00 01/02\r\n"); 
    applet.append(" -------------------------------------------------- \r\n"); 
    applet.append(" \r\n"); 
    applet.append(" \r\n"); 
    applet.append(" \r\n"); 
    applet.append(" \r\n"); 
    applet.append("\x1D\x56\x41"); // 4 
    applet.append("\x1B\x40"); // 5 
    
    그것은 initation 명령 ESC를 @로 시작 (16 진수 : X1B는 X40 \ \) 글꼴 0) + 비트 8()을 강조 표시 글꼴 A를 굵게 설정 스타일 (비트 0 (나타냅니다 ! = 8, ESC 8 진수 : \ X1B X08)
  • 세트 스타일 어떤 스타일 않고, B를 폰트 \ (비트 1 = 1, ESC 1 헥스! \ X1B X01)
  • 잘라 내기 명령 \
  • 다른 프로그램에서이 프로그램을 사용중인 경우 프린터를 재설정해야합니다. 재설정하지 않을 경우를 대비하여.

코드 스 니펫에 대한 크레디트는 jZebra 메일 링리스트에서 Bahadir로 이동합니다.

-Tres

+0

실제 문제는 appendHTML 기술을 사용하여 렌더링 할 바코드를 얻을 수 없다는 것이 었습니다. 나는 그 방법을 포기하고 XML을 성공적으로 사용했다. 또한 난장판 ESCP 명령으로 레이아웃을 제어하는 ​​데 문제가 있었지만 두 가지 방법으로 영수증을 인쇄 할 수 있습니다. – markpsmith