🖨️ TEC 바코드프린터 명령어로 출력하는 방법 (TPCL 예제 완전정리)
바코드 프린터를 사용할 때 가장 중요한 부분은 바로 명령어 언어(Command Language) 입니다.
Zebra 프린터는 ZPL, SATO는 SBPL, 그리고 TEC(도시바 TEC) 프린터는 TPCL (TEC Printer Command Language) 을 사용합니다.
이번 글에서는 TPCL 명령어를 이용해 텍스트와 바코드를 출력하는 예제를 자세히 알아보겠습니다.
또한, VB6에서 직접 프린터로 전송하는 방법도 함께 소개합니다.
🧩 TEC TPCL 기본 개념
TPCL은 TEC 바코드프린터 전용 명령어 세트입니다.
ZPL과 비슷한 구조지만, 문법이 조금 더 직관적이며 한 줄 단위로 구성됩니다.
각 명령어는 대부분 <ESC>(ASCII 27) 문자로 시작하며, 라벨의 위치와 출력 형식을 제어합니다.
예를 들어 다음과 같은 구조를 가집니다 👇
<ESC>A ; 데이터 시작
<ESC>H0100 ; X 좌표 설정
<ESC>V0100 ; Y 좌표 설정
<ESC>L0101 ; 폰트 선택
텍스트 내용
<ESC>Q1 ; 출력 매수
<ESC>Z ; 인쇄 실행
🧾 텍스트 + 바코드 출력 예제
아래 예제는 “Hello TEC Printer!” 텍스트와 123456789012 바코드를 함께 인쇄하는 명령어입니다.
<ESC>A
<ESC>H0100
<ESC>V0100
<ESC>L0101
<ESC>XFONT "Swiss 721 BT",16,0,100
Hello TEC Printer!
<ESC>H0100
<ESC>V0200
<ESC>BX010,2,200,50,1,0,"123456789012"
<ESC>Q1
<ESC>Z
📘 명령어 설명표
| 명령어 | 설명 | 예시 |
|---|---|---|
<ESC>A | 인쇄 데이터 시작 | – |
<ESC>Hnnn | X 좌표 (가로 위치) | <ESC>H0100 |
<ESC>Vnnn | Y 좌표 (세로 위치) | <ESC>V0200 |
<ESC>Lmmm | 폰트 선택 | <ESC>L0101 |
<ESC>XFONT | TrueType 폰트 지정 | <ESC>XFONT "Swiss 721 BT",16,0,100 |
<ESC>BX | Code128 바코드 출력 | <ESC>BX010,2,200,50,1,0,"123456789012" |
<ESC>Qn | 인쇄 매수 | <ESC>Q1 |
<ESC>Z | 인쇄 실행 | – |
📌 참고<ESC>는 실제 ASCII 27 (0x1B) 문자입니다.
즉, 코드에서 Chr(27) 또는 \x1B로 표현해야 합니다.
💻 VB6에서 직접 출력하는 예제
VB6 환경에서 TEC 프린터로 명령어를 직접 전송할 수도 있습니다.
아래 예제는 LPT1(병렬 포트)로 TPCL 명령어를 보내는 코드입니다.
Dim s As String
s = Chr(27) & "A" & vbCrLf
s = s & Chr(27) & "H0100" & vbCrLf
s = s & Chr(27) & "V0100" & vbCrLf
s = s & Chr(27) & "L0101" & vbCrLf
s = s & "Hello TEC!" & vbCrLf
s = s & Chr(27) & "H0100" & vbCrLf
s = s & Chr(27) & "V0200" & vbCrLf
s = s & Chr(27) & "BX010,2,200,50,1,0,""123456789012""" & vbCrLf
s = s & Chr(27) & "Q1" & vbCrLf
s = s & Chr(27) & "Z" & vbCrLf
Open "LPT1:" For Output As #1
Print #1, s;
Close #1
이 코드를 실행하면,
- 텍스트
"Hello TEC!"가 라벨 상단에 인쇄되고 - 그 아래에 Code128 바코드가 표시됩니다.
🖨️ 출력 결과 요약
| 항목 | 설명 |
|---|---|
| 텍스트 위치 | 상단 (Y=100) |
| 바코드 위치 | 하단 (Y=200) |
| 바코드 종류 | Code128 |
| 출력 매수 | 1장 |
⚙️ 추가 팁
✅ 한글 출력 시 주의사항
한글을 출력하려면 반드시 XFONT 명령으로 한글 폰트를 지정해야 합니다.
예:
<ESC>XFONT "Malgun Gothic",20,0,100
테스트 출력
✅ USB 연결 시 출력
USB 프린터로 연결된 경우에도 같은 명령어를 전송할 수 있지만,
윈도우 인쇄 스풀러 대신 Raw 데이터 전송 방식을 사용해야 합니다.
✅ 바코드 종류 변경하기BX → Code128BC → Code39BY → QR코드
명령어 하나만 바꾸면 다양한 바코드 포맷을 지원합니다.
✨ 마무리
TEC 프린터의 TPCL 명령어는 구조가 단순하면서도 강력합니다.
간단한 텍스트 출력부터, 복잡한 제품 라벨, QR코드, 한글 인쇄까지 모두 지원하죠.
