2012-03-08 4 views
-1

Hengstler C56 영수증 프린터가 있습니다. 나는 오랫동안 프린터로 로고를 인쇄하려고 노력 해왔다. 그러나 그것이 어떻게 실패하고 있는지 알 수는 없습니다.C를 사용하는 영수증 프린터에서 이미지 인쇄

인쇄하려는 이미지는 * .bmp 유형 및 50x50입니다. 프린터 API는 C로 쓰여지고 프린터는 부호없는 char 바이트 배열을 쓰기 버퍼로 사용합니다.

이 작업을 수행하기위한 아이디어가 있습니까?

+0

을 가지고 [해당 프린터 설명서] (http://www.hengstler.com/en/products/shop.php?catID=1008)를 읽으십시오. 또한 다중 언어 소스 파일을 작성하지 마십시오. 불필요한 많은 문제가 있습니다. – pmg

+0

[Emulation Command Set Manual] (https://www.telpar.com/files/drivers_support/manuals/D-684-017-C56-EmulationCommandSet_31-Mar-2009.pdf)을 확인 했습니까? 필요한 모든 명령이 나열되어 있습니다. – nabulke

+0

안녕하세요. @pmg, 나는 그들의 전체 문서를 읽고 그들에게도 메일을 보냈습니다. 그러나 그것으로부터 도움이되지 않습니다. 나는 여기에 누군가가 이미 같은 프린터로 프로그램되기를 바랍니다. 다국어 소스 란 무엇입니까? – san

답변

0

RS-232 또는 USB를 통해 ASCII 문자를 전송하여이 프린터에서 텍스트를 인쇄 할 수 있다면 (USB를 통해 RS-232입니까? - 모든 것을 읽지는 않았 음) 섹션 3.1.32 " GS & + [m] + [x] + [y1] + [y2] + [d1] .. [dn] "through"이미지 데이터 등록 3.1.34 GS '+ [m] + [n] 로고 이미지를 올바르게 인코딩하기 위해 "C-56 EMULATION COMMAND SET"문서의 "data"를 선택하여 장치의 플래시 메모리에 기록하고 인쇄하십시오. 몇 가지 간단한 이미지로 시작하십시오.

+0

안녕 알렉스, 프린터는 USB 포트를 통해 연결되어 있습니다. 정상적인 텍스트 파일을 인쇄 할 수 있습니다. 하지만 이미지를 인코딩하는 데 막혔습니다. 내가 읽을 수있는 명확한 문서 나 샘플은 없습니까? – san

+1

당신이 갖고있는 문서를 기반으로 인코딩의 가능한 간단하고 논리적 인 간단한 방법이 존재할 수 있다고 생각하고 왜 실험을하고 데이터가 어떻게 변했는지 보지 않겠습니까? 제 말은, 시행 착오는 프로그래머의 빵과 버터입니다. –

1

기록 이미지 # 1 : 더블 폭 및 더블 높이

fwrite("\x1D\x26\x01\x01\x08\x00" "\x00\x66\x66\x00\x00\x42\x3C\x00", 
     1, 14, printer_stream); 

인쇄 이미지 # 1 :

fwrite("\x1D\x27\x01\x03" 
     1, 4, printer_stream); 

나는 좋은 데이터 뭔가를 만들려고

 
bit 7 6 5 4 3 2 1 0 
    .. .. .. .. .. .. .. .. 00 
    .. ## ## .. .. ## ## .. 66 
    .. ## ## .. .. ## ## .. 66 
    .. .. .. .. .. .. .. .. 00 
    .. .. .. .. .. .. .. .. 00 
    .. ## .. .. .. .. ## .. 42 
    .. .. ## ## ## ## .. .. 3C 
    .. .. .. .. .. .. .. .. 00 
+0

좋은 친구. 한 가지 의심의 여지가 있습니다. 'printer_stream'은 파일 포인터 또는 열린 프린터 번호입니까? – san

+0

예에서'printer_stream'은 쓰기/추가를 위해 열린 FILE *입니다. 'FILE * '을 사용하여 프린터에 쓸 수 없다면 코드를 수정해야합니다. – pmg

관련 문제