본문 바로가기
프로그래밍/C Sharp

[ C# ] 제브라 프린터 인쇄 미리보기 프로그램 제작

by jeong-f 2021. 11. 9.
반응형

웹에서 제브라 프린터의 인쇄 명령으로 출력 이미지를 미리보기 하는 방법이 있습니다. 이 방법을 이용하여 프린터 없이 미리 명령을 만드는 방법을 공유하고자 합니다.

이전 포스트(아래)에서 작성한 파일을 zpl로 저장해 둡니다.

제브라(Zebra) 프린터 명령 웹사이트에서 미리 보기

웹사이트에서 API 확인

상단 메뉴에서 [ API ] 탭을 눌러 주면 사용 가능한 API 명령에 대한 설명 창이 나타납니다.

아래쪽으로 스크롤면 api에 대한 설명이 나타며 한글로  번역하면 아래와 같이 설정됩니다.

GET http://api.labelary.com/v1/printers/{dpmm}/labels/{width}x{height}/{index}/{zpl}

GET http://api.labelary.com/v1/printers/{해상도}/labels/{가로}x{세로}/{페이지번호=기본0}/{프린터 명령}

앞서 사용한 프린터 및 라벨의 설정을 확인해보겠습니다.

API에서는 cm 단위를 지원하지 않기 때문에 인치 단위의 가로세로 값을 입력해야 합니다.

"  6x3  "을 인치로 변경한  " 2.3 x 1.18 " 을 넣은 후 프린터 명령을 입력합니다.

더보기
http://api.labelary.com/v1/printers/12dpmm/labels/2.3x1.18/0/

^XA
^LT-10
^LS-20 ^FO10,10^GFA,5060,5060,46,,:::::::::::::::::O01FE,N03JF,M01KFE,M0MFC,L03NF,L0OFC,K01OFE,K07PF8,K0QFC,J01QFE,J03RF,J07RF8,J0SFC,I01SFEhH01F,I03TFL07MF83FF8I03FF8001NFJ01IF,I07TF8K07MF83FF8001JF001NFI01JFEK0LF001IF8003FFE,I07TFCK07MF83FF8003JFC01NFI03KF8J0LFC00IF8003FFE,I0UFCK07MF83FF8007JFE01NFI0LFEJ0MF00IFC007FFC,001IF03FF03FF83FFEK07MF83FF800LF01NF003MFJ0MF807FFC00IFC,001FFE01FE01FE01IFK07MF83FF801LF81NF007MFCI0MFC03FFE00IF8,003FFC00FC00FC00IFK07MF83FF803LFC1NF00NFEI0MFE03IF01IF8,003FF800780078007FF8J07MF83FF803LFC1NF01OFI0NF01IF01IF,007FFI0780078007FF8J07MF83FF807LFE1NF03OFI0NF01IF83FFE,007FFI0780038003FF8J07MF83FF807FFC3FFE0NF03OF800NF80IF87FFE,00IFI03I03I03FFCL01FFEI03FF80IF00FFEI03FF8I07IF803IFC00FFE00IF807FFC7FFC,00IFI07I038003FFCL01FFEI03FF80IF00FFEI03FF8I0IFEI0IFC00FFE007FF807FFCIFC,00IFI0780078003FFEL01FFEI03FF80FFE007FFI03FF8I0IFCI07FFE00FFE007FF803FFEIF8,00IF800780078007FFEL01FFEI03FF80FFE007FFI03FF8001IFJ03FFE00FFE003FF803LF8,01IF8007800FC007FFEL01FFEI03FF80FFEN03FF8001FFEJ01IF00FFE003FFC01LF,01IFC00FC00FC00IFEL01FFEI03FF80IFN03FF8001FFEK0IF00FFE003FFC01KFE,01IFE01FE01FF01IFEL01FFEI03FF80IF8M03FF8003FFCK07FF00FFE003FF800KFE,03XFL01FFEI03FF80IFEM03FF8003FF8K07FF80FFE003FF8007JFC,03XFL01FFEI03FF807IFCL03FF8003FF8K03FF80FFE003FF8007JFC,03XFL01FFEI03FF807JF8K03FF8003FF8K03FF80FFE007FF8003JF8,03NFCOFL01FFEI03FF803JFEK03FF8007FFL03FF80FFE007FF8003JF8,03MFE01NFL01FFEI03FF803KF8J03FF8007FFL03FFC0FFE00IF8001JF,03MFC00NFL01FFEI03FF801KFEJ03FF8007FFL03FFC0IF07IFI01IFE,03MF8007MFL01FFEI03FF800LFJ03FF8007FFL03FFC0NFJ0IFE,03MF8007MFL01FFEI03FF8007KF8I03FF8007FFL03FFC0MFEJ07FFC,03MF8003MFL01FFEI03FF8001KFCI03FF8007FFL03FFC0MFCJ07FFC,03MFI03MFL01FFEI03FF8I07JFCI03FF8007FF8K03FF80MF8J03FF8,03MFI03MFL01FFEI03FF8I01JFEI03FF8003FF8K03FF80MFK03FF8,03MF8007MFL01FFEI03FF8J03IFEI03FF8003FF8K03FF80LFCK03FF8,01MF8007LFEL01FFEI03FF8K0JFI03FF8003FFCK07FF80LF8K03FF8,01MF800MFEL01FFEI03FF8K03IFI03FF8003FFCK07FF00FFEIF8K03FF8,01MFC00MFEL01FFEI03FF8L0IFI03FF8001FFEK0IF00FFE7FFCK03FF8,01NF03MFEL01FFEI03FF80FFC00IFI03FF8001IFJ01IF00FFE7FFEK03FF8,00NFCNFEL01FFEI03FF80FFC007FFI03FF8I0IF8I03FFE00FFE3FFEK03FF8,00WFCL01FFEI03FF80FFE00IFI03FF8I0IFCI07FFE00FFE1IFK03FF8,00WFCL01FFEI03FF80FFE00IFI03FF8I07IF001IFC00FFE1IFK03FF8,00NFCNFCL01FFEI03FF80IF00IFI03FF8I07IF803IFC00FFE0IF8J03FF8,007MF03MF8L01FFEI03FF80IF83IFI03FF8I03OF800FFE0IF8J03FF8,007LFC00MF8L01FFEI03FF807LFEI03FF8I01OFI0FFE07FFCJ03FF8,003LF800MFM01FFEI03FF807LFEI03FF8I01NFEI0FFE07FFEJ03FF8,003LF8007LFM01FFEI03FF803LFCI03FF8J0NFCI0FFE03FFEJ03FF8,001LF8007KFEM01FFEI03FF803LF8I03FF8J07MF8I0FFE03IFJ03FF8,001LFI03KFEM01FFEI03FF801LF8I03FF8J01MFJ0FFE01IF8I03FF8,I0LFI03KFCM01FFEI03FF800LFJ03FF8K0LFCJ0FFE01IF8I03FF8,I07KF8003KF8M01FFEI03FF8007JFCJ03FF8K03KF8J0FFE00IFCI03FF8,I07KF8007KF8M01FFEI03FF8001JFK03FF8L0JFEK0FFE007FFCI03FF8,I03KF8007KFgH07FFCU01IF,I01KFC00KFE,J0KFE01KFC,J07KF87KF8,J03RF,J01QFE,K0QFC,K07PF,K01OFE,L07NF8,L01MFE,M07LFC,N0KFE,N01IFE,P03,,::::::::::::::::^FS
^FT270,160^A0N,40,40^FDPrdNam^FS
^FT270,200^A0N,40,40^FDSN^FS
^FT270,240^A0N,40,40^FDDATECODE^FS
^FT270,280^A0N,40,40^FDRPSerialNo^FS
^FT270,320^A0N,40,40^FDMade in KOREA^FS
^BY100,120^FT00,330^BXN,13,200,0,0,1,~^FDProdSerialNo^FS
^FO480,60^GFA,03200,03200,00020,:Z64: ^XZ

 

웹에서 이미지 미리 보기

위에서 작성한 내용을 인터넷 창에 입력하면 이미지가 띄워집니다.

프로그램 화면 디자인

웹 API를 이용하여 반복적으로 수정하며 이미지를 볼 수 있지만, 프로그램에 연동하여 미리 보기 기능을 구현해보겠습니다.

프로그램 코드

기본 구성은 위와 같이 한 후 [적용] 버튼 (brnPreview) 및 이미지 표시 코드를 추가합니다.

private void btnPreview_Click(object sender, EventArgs e)
        {
        // 적용 버튼
            try
            {
                if (!string.IsNullOrEmpty(textBox1.Text))
                {
                    string urlstring = textBox1.Text; // 입력된 Web API
                    Bitmap bmp = WebImageView(urlstring); // 이미지 가져오기
                    pictureBox1.BackgroundImage = bmp; // 이미지 적용
                }
            }
            catch { }
        }
        public Bitmap WebImageView(string URL)
        {
        // 웹이미지 가져 오기
            try
            {
                WebClient Downloader = new WebClient();
                Stream ImageStream = Downloader.OpenRead(URL); //url stream 받기
                Bitmap DownloadImage = Bitmap.FromStream(ImageStream) as Bitmap; // 이미지로 변환
                return DownloadImage;
            }

            catch (Exception)
            {
                return null;

            }

        }
반응형

댓글