도트프린터 줄 안 맞는 문제 해결 – POS·ERP 밀림·오차 원인과 정확한 복구법
도트프린터는 출력 자체는 정상인데 줄만 틀어지거나 오른쪽으로 계속 밀리는 문제가 자주 발생합니다. 이 문제는 프린터 고장이 아니라 출력 명령의 해석, 용지 폭, 좌표 단위 차이처럼 눈에 잘 보이지 않는 설정 불일치에서 시작됩니다. 복잡해 보이지만 원리를 이해하고 순서대로 점검하면 어떤 POS·ERP 환경에서도 정확하게 복구할 수 있습니다.
이 글은 실제 현장에서 반복되는 줄 맞춤 문제를 ‘왜 발생하는지 → 무엇을 확인해야 하는지 → 어떻게 복구하는지’ 순으로 자연스럽게 설명해 따라 하기 쉽게 구성했습니다.
도트프린터 줄 안 맞는 문제를 해결하는 핵심 원리
도트프린터의 줄 정렬은 네 가지 요소가 서로 정확히 맞아야 정상적으로 유지됩니다. ESC/P 좌표, 용지 폭, 폰트 폭(1byte/2byte), 출력 방향 설정이 그것입니다. 이 중 어느 하나라도 어긋나면 줄이 오른쪽으로 밀리거나, 세로는 맞는데 가로만 틀어지는 현상이 반복됩니다. 즉, 구조를 알고 나면 문제 해결은 훨씬 단순해집니다.
도트프린터 줄이 틀어지는 네 가지 주요 원인
도트프린터가 줄을 정확하게 맞추지 못하는 가장 근본적인 이유는 환경마다 좌표를 해석하는 기준이 다르기 때문입니다. 여기에 용지 폭, 문자 폭, 방향 설정까지 더해지면 출력 위치가 점점 쌓여 밀리는 문제가 발생합니다.
➊ ESC/P와 ESC/POS 좌표 해석의 차이
ESC/P는 **절대 위치(도트 단위)**로 이동하고, ESC/POS는 **상대 위치(열 단위)**로 이동합니다.
Windows, POS, ERP는 이 기준을 서로 다르게 해석하기 때문에 출력 위치가 조금씩 어긋나거나 특정 구간에서 한 줄씩 밀리는 문제가 생깁니다.
➋ 용지 폭 설정 불일치
실제 용지 폭보다 설정된 용지 폭이 넓거나 좁으면 좌표 개수 자체가 달라지면서 오른쪽으로 밀리는 현상이 심해집니다.
예를 들어, 76mm 용지를 쓰는데 프로그램은 80mm로 적용되어 있으면 좌표가 더 멀리 계산됩니다.
➌ 폰트 폭(특히 한글 2byte) 차이로 인한 폭 오차
한글은 2byte라 영문 1byte보다 폭이 두 배 가까이 넓습니다.
POS가 영문 폭으로 좌표를 계산하는데 출력은 한글 폭으로 나오면 줄이 어긋날 수밖에 없습니다.
그래서 “세로는 맞는데 가로만 계속 밀리는” 문제가 발생합니다.
➍ 드라이버 출력 방향(Orientation) 불일치
드라이버가 가로 방향인데 POS는 세로 방향, 또는 그 반대라면 프린터는 명령을 다르게 해석해 줄 정렬이 깨지게 됩니다.
겉으로 보기엔 고장처럼 보이지만 사실 단순한 방향 불일치 문제입니다.
이해하기 쉬운 실제 예시
카페 POS에서는 영문 중심 레이아웃으로 ESC/POS 명령을 보냈는데, 메뉴명이 한글로 바뀌면 줄이 갑자기 오른쪽으로 밀리는 경우가 많습니다. 이유는 간단합니다. POS는 1byte 폭을 기준으로 좌표를 계산했지만 한글은 2byte 폭으로 표시되어 실제 폭이 두 배가 되기 때문입니다.
ERP에서는 영수증 폭을 80mm로 맞춰놨는데 실제 프린터는 76mm 용지를 사용하는 경우 좌표가 늘어나 오른쪽으로 계속 밀립니다. 이런 오차는 프로그램이 잘못된 것이 아니라 좌표 기반 인쇄의 특성 때문입니다.

ESC/P와 ESC/POS 좌표 차이로 생기는 문제
ESC/P는 절대 좌표 방식입니다.
“왼쪽에서 120도트 위치로 이동하라”라는 식으로 완전한 위치 값을 지정합니다.
ESC/POS는 상대 위치 방식입니다.
“현재 위치에서 한 열 이동하라” 또는 “문자 폭 기준으로 이동하라”는 식입니다.
POS 프로그램과 ERP 프로그램이 서로 다른 좌표 방식을 사용하면, 인쇄 위치가 서로 다르게 계산됩니다. 그래서 ERP에서는 줄이 맞는데 POS에서는 줄이 틀어지거나, 반대로 POS에서는 맞는데 ERP에서는 틀어지는 상황이 반복됩니다. 이 차이를 이해하면 문제 원인을 쉽게 좁힐 수 있습니다.
가상 COM 포트에서 발생하는 지연·밀림 이슈
도트프린터 대부분은 USB처럼 보이지만 내부적으로는 가상 COM 포트(Virtual COM) 방식으로 작동하는 경우가 많습니다. 이 방식은 전송 속도가 안정적이지만, 순간적인 지연(레이턴시)이 발생하면 ESC/P 명령 처리 시 좌표가 밀리는 현상이 생깁니다.
특히 POS 프로그램에서 빠르게 여러 줄을 연속 출력할 때 오차가 커지는 경우가 있어, COM 방식의 설정(전송 속도·흐름 제어)을 조정하면 문제가 해결되기도 합니다.
환경별로 다른 출력 오차 – POS·ERP·Windows
Windows에서는 테스트 페이지가 정상인데 POS에서는 줄이 틀어지는 경우가 많습니다. 이는 Windows는 GDI 기반 렌더링을 사용하지만 POS는 ESC/POS 명령 기반이라 완전히 다른 해석 기준을 쓰기 때문입니다.
ERP(더존 등)에서는 폼 설정 자체가 좌표 기반이라 줄 간격이 맞아도 가로 위치가 틀어지는 상황이 반복됩니다. 따라서 문제를 해결할 때는 “어디서 틀어지는지”(Windows / POS / ERP)를 먼저 파악하는 것이 중요합니다.
줄 안 맞음 문제 해결을 위한 핵심 점검 단계
① ESC/P 좌표 설정 확인
실제 인쇄 위치 명령(ESC $ / ESC )이 POS에서 차단되지 않았는지 확인합니다.
② 용지 폭과 설정 폭 일치 여부 확인
76mm 용지를 사용하면서 프로그램은 80mm로 설정돼 있다면 줄이 밀립니다.
③ 폰트 폭·한글/영문 혼합 여부 확인
한글 2byte → 폭 증가 → 줄 밀림 발생.
④ 드라이버 출력 방향(Orientation) 확인
POS 프로그램 방향과 서로 다르면 줄 정렬이 무너집니다.
실제 현장에서 바로 적용 가능한 복구 절차
① Windows 테스트 페이지로 장치 자체 상태 확인
여기서 정상 출력이면 하드웨어는 문제 없음.
② 프린터 속성 → 포트 설정이 실제 연결 방식과 일치하는지 확인
USB00X / COMx / IP 포트 불일치가 가장 흔한 원인.
③ POS 또는 ERP에서 모델명을 정확히 선택했는지 재확인
TM-T20을 설치했는데 T88로 선택해도 줄 밀림 발생.
④ ESC/P 명령이 프로그램 내부에서 차단되지 않았는지 확인
특히 키오스크·웹POS에서 자주 발생하는 유형입니다.
💬FAQ
Q. 오른쪽으로 계속 밀리는 이유는 무엇인가요?
용지 폭과 ESC/P 좌표 단위가 불일치할 때 생기는 전형적인 현상입니다.Q. POS에서는 틀어지는데 Windows 테스트 페이지는 맞아요. 왜죠?
두 출력 방식의 좌표 계산 기준이 서로 다르기 때문입니다.Q. 한글일 때만 줄이 틀어지는 이유는 무엇인가요?
한글은 2byte 문자라 영문과 폭 계산이 다릅니다.Q. 용지 폭만 맞춰도 해결되나요?
많은 경우 해결되지만, ESC/P / ESC/POS 명령이 차단된 경우 추가 설정이 필요합니다.
🔚 마무리
도트프린터 줄 틀어짐 문제는 대부분 설정의 오차에서 시작됩니다. 좌표 방식의 차이와 용지 폭, 폰트 폭, 방향 설정을 차분하게 확인하면 POS든 ERP든 어떤 출력 환경에서도 줄 위치를 안정적으로 복구할 수 있습니다.
📆 2025년 11월 기준 최신 정보
📚 출처
-
Epson Korea 고객지원 — ESC/P/ESC/POS 출력 가이드
-
Epson Developer Reference (ESC/POS Command Guide, 2024)
🔗 함께 보면 좋은 글
🖨️ [Epson TM 시리즈 드라이버 설치 가이드]
🖨️[POS 영수증 출력 오류 해결법]
