Commit Graph

4 Commits

Author SHA1 Message Date
f4f7e8b1b4 feat: ESC/POS QR 비트맵 인쇄 활성화 (텍스트 검증 완료)
- QR 비트맵 인쇄 재활성화 (image_to_raster_esc_star)
- 에러 처리 강화: traceback 출력으로 디버깅 정보 제공
- QR 실패 시 URL 텍스트로 자동 폴백
- 텍스트 인쇄 검증 완료 (청춘약국, 거래정보, 금액 등)

ESC * 방식 (24-dot double-density) 사용

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-29 20:06:16 +09:00
9a24c8659f fix: ESC/POS 명령어 단순화 - 폰트 명령어 호환성 문제 해결
- 폰트 크기 명령어 제거 (ESC ! x10, x08, x00)
  → 일부 프린터에서 "@a!" 같은 이상한 문자 출력 문제 해결
- 중앙 정렬 명령어 변경: ESC a\x01 → ESC a [1]
- QR 비트맵 임시 비활성화 → URL 텍스트로 대체
- 용지 커트: Full cut (V\x00) → Partial cut (V\x01)
- 텍스트만으로 레이아웃 구성 (더 안전)

테스트 용지는 인쇄되지만 QR 포함 시 "@a!청춘약국" 같은
문자가 나오는 문제 해결

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-29 20:04:48 +09:00
3413211c49 fix: ESC/POS QR 인쇄 호환성 개선 (ESC * 방식)
- QR 크기 축소: 150x150px → 100x100px (안정성 향상)
- ESC * 명령어 사용 (24-dot double-density) - 더 많은 프린터 지원
- image_to_raster_esc_star() 함수 추가
- 디버깅 로그 추가 (각 단계 print)
- QR 비트맵 실패 시 URL 텍스트로 폴백

GS v 0 방식은 일부 프린터에서 미지원 → ESC * 방식으로 변경

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-29 20:03:13 +09:00
2ec73dd73d feat: QR 프린터 선택 기능 추가 (Zebra + ESC/POS)
- ESC/POS QR 영수증 인쇄 함수 추가 (pos_qr_printer.py)
  - QR 코드 이미지를 ESC/POS 비트맵 래스터로 변환
  - 150x150px QR 코드 + 거래 정보 텍스트 인쇄
  - EUC-KR 인코딩으로 한글 지원
  - TCP 소켓으로 프린터 전송

- POS GUI에 프린터 선택 토글 버튼 추가
  - 🖨️ Zebra 라벨 ⇄ 🖨️ POS 영수증 전환
  - POS 모드 시 설정 버튼 표시 (IP/포트 설정)
  - 미리보기 모드는 Zebra 전용

- POSSettingsDialog 재사용 (pos_thermal.py 연동)
  - config.json에 POS 프린터 설정 저장
  - 테스트 인쇄 기능 활용

- QRGeneratorThread 프린터 모드 지원
  - printer_mode 매개변수 추가 ('zebra' or 'pos')
  - pos_config 설정 전달
  - 프린터별 분기 처리

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-29 20:00:42 +09:00