rev. 3 - bixolon ::mfi printer, auto id printer, mobile...

115
iOS SDK API 레퍼런스 가이드 Rev. 3.07 SRP-F310 / SRP-F312 SRP-F310II / SRP-F312II SRP-F313II SRP-350plus / SRP-352plus SRP-350plusII / SRP-352plusII SRP-350II / SRP-350IIOBE SRP-350III / SRP-352III SRP-350plusIII/SRP-352plusIII SRP-275 / SRP-275II SRP-275III SRP-340 SPP-R200II / SPP-R200III SPP-R210 / SPP-R220 SPP-R300 / SPP-R310 SPP-R400 / SPP-R410 SRP-380 / SRP-382 SRP-330II / SRP-332II SRP-340II / SRP-342II SRP-S300 SRP-Q300 / SRP-Q302 http://www.bixolon.com

Upload: buinhi

Post on 15-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS SDK API 레퍼런스 가이드

Rev. 3.07 SRP-F310 / SRP-F312 SRP-F310II / SRP-F312II SRP-F313II SRP-350plus / SRP-352plus SRP-350plusII / SRP-352plusII SRP-350II / SRP-350IIOBE SRP-350III / SRP-352III SRP-350plusIII/SRP-352plusIII SRP-275 / SRP-275II SRP-275III SRP-340 SPP-R200II / SPP-R200III SPP-R210 / SPP-R220 SPP-R300 / SPP-R310 SPP-R400 / SPP-R410 SRP-380 / SRP-382 SRP-330II / SRP-332II SRP-340II / SRP-342II SRP-S300 SRP-Q300 / SRP-Q302

http://www.bixolon.com

Page 2: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 2 -

■ 목차

1. 매뉴얼 안내 .......................................................................................................................... 5

1-1 지원 장치 ........................................................................................................................ 5

1-2 지원 Platform & 개발환경 ............................................................................................... 5

1-3 지원 Printer/Interface 목록 ............................................................................................. 6

1-4 지원 Properties 목록 ...................................................................................................... 7

1-5 지원 Method 목록 .......................................................................................................... 8

1-6 SDK 프로젝트 설정 ....................................................................................................... 10

1-6-1 ExternalAccessory.framework 추가 하기 .......................................................... 10

1-6-2 Bluetooth Protocol 추가 하기 ............................................................................ 11

1-6-3 프로젝트에 Bixolon Library 추가 하기 ............................................................. 12

2. 상수값 ................................................................................................................................. 13

2-1 상수 값 정의 ................................................................................................................. 13

2-1-1 Character Set..................................................................................................... 13 2-1-2 International Character Set ................................................................................ 14 2-1-3 Text Encoding .................................................................................................... 14 2-1-4 Barcode/Image/Text Alignment .......................................................................... 15 2-1-5 Text Size ............................................................................................................ 15 2-1-6 Text Attribute ...................................................................................................... 16 2-1-7 Barcode Text Position ........................................................................................ 16 2-1-8 Barcode Symbology ........................................................................................... 17 2-1-9 Image Width ....................................................................................................... 18 2-1-10 Status Check Mask .......................................................................................... 18 2-1-11 Power ............................................................................................................... 18 2-1-12 State ................................................................................................................ 19 2-1-13 Connection Control .......................................................................................... 19 2-1-14 Drawer kick-out connector pin.......................................................................... 19 2-1-15 Drawer open level ............................................................................................ 19 2-1-16 Model ID .......................................................................................................... 20 2-1-17 Connection Class ............................................................................................. 21 2-1-18 Result Code ..................................................................................................... 21

3. BXBarcode Class Reference ............................................................................................ 23

3-1 Overview ........................................................................................................................ 23 3-2 Properties ....................................................................................................................... 23

3-2-1 barNumber ......................................................................................................... 23 3-2-2 name .................................................................................................................. 23 3-2-3 support ............................................................................................................... 24

4. BXPrinter Class Reference ............................................................................................... 25

4-1 Overview ........................................................................................................................ 25 4-2 Properties ....................................................................................................................... 25

4-2-1 name .................................................................................................................. 25 4-2-2 address .............................................................................................................. 25 4-2-3 port .................................................................................................................... 26 4-2-4 modelStr ............................................................................................................ 26 4-2-5 versionStr ........................................................................................................... 26 4-2-6 connectionClass ................................................................................................ 27

Page 3: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 3 -

5. BXPrinterController Class Reference .............................................................................. 28 5-1 Overview ........................................................................................................................ 28 5-2 Properties ....................................................................................................................... 28

5-2-1 version ............................................................................................................... 28 5-2-2 delegate ............................................................................................................. 29 5-2-3 target ................................................................................................................. 30 5-2-4 lookupDuration ................................................................................................... 31 5-2-5 lookupCount ...................................................................................................... 32 5-2-6 alignment ........................................................................................................... 33 5-2-7 attribute .............................................................................................................. 34 5-2-8 textSize .............................................................................................................. 35 5-2-9 characterSet ...................................................................................................... 36 5-2-10 internationalCharacterSet ................................................................................ 37 5-2-11 textEncoding .................................................................................................... 38 5-2-12 state ................................................................................................................. 39 5-2-13 power ............................................................................................................... 40 5-2-14 AutoConnection ............................................................................................... 41 5-2-15 drawerPin ........................................................................................................ 42 5-2-16 drawerOpenLevel ............................................................................................ 43 5-2-17 textPosition ...................................................................................................... 44

5-3 Instance Methods ........................................................................................................... 45 5-3-1 getInstance ........................................................................................................ 45 5-3-2 open................................................................................................................... 46 5-3-3 close .................................................................................................................. 47 5-3-4 lookup ................................................................................................................ 48 5-3-5 selectTarget ....................................................................................................... 50 5-3-6 connect .............................................................................................................. 51 5-3-7 disconnect ......................................................................................................... 52 5-3-8 enableLSB ......................................................................................................... 53 5-3-9 printText ............................................................................................................. 54 5-3-10 printBox ........................................................................................................... 56 5-3-11 lineFeed ........................................................................................................... 57 5-3-12 nextPrintPos .................................................................................................... 58 5-3-13 printBarcode .................................................................................................... 59 5-3-14 printBitmap....................................................................................................... 61 5-3-15 printBitmapWithImage...................................................................................... 62 5-3-16 cutPaper .......................................................................................................... 63 5-3-17 checkPrinter ..................................................................................................... 64 5-3-18 msrReadReady ................................................................................................ 65 5-3-19 msrReadCancel ............................................................................................... 67 5-3-20 msrReadTrack ................................................................................................. 68 5-3-21 msrGetTrack .................................................................................................... 70 5-3-22 msrReadFullTrack ............................................................................................ 72 5-3-23 directIO ............................................................................................................ 73 5-3-24 icON ................................................................................................................. 74 5-3-25 icOFF ............................................................................................................... 75 5-3-26 icApdu .............................................................................................................. 76 5-3-27 icGetStatus ...................................................................................................... 77 5-3-28 nvImageList ..................................................................................................... 78 5-3-29 downloadNVImage (Diffusion) ......................................................................... 79 5-3-30 downloadNVImage (Normal) ............................................................................ 81 5-3-31 printNVImage ................................................................................................... 82 5-3-32 removeNVImage .............................................................................................. 83 5-3-33 removeAllNVImages ........................................................................................ 84 5-3-34 openDrawer ..................................................................................................... 85

Page 4: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 4 -

5-3-35 setAsyncMode ................................................................................................. 86 5-3-36 beginTransaction ............................................................................................. 87 5-3-37 endTransaction ................................................................................................ 88 5-3-38 setPageArea .................................................................................................... 89 5-3-39 setVerticalPosition ........................................................................................... 90 5-3-40 setLeftPosition ................................................................................................. 91 5-3-41 printDataInPageMode ...................................................................................... 92 5-3-42 isSupport_MSR ................................................................................................ 93 5-3-43 isSupport_IC .................................................................................................... 94 5-3-44 isSupport_Config ............................................................................................. 95 5-3-45 isSupport_CashDrawer .................................................................................... 96 5-3-46 isSupport_LSB ................................................................................................. 97 5-3-47 getBarcodeSupportTable ................................................................................. 98

6. BXPrinterControllerDelegate Protocol Reference .......................................................... 99

6-1 Overview ........................................................................................................................ 99 6-2 Instance Methods ........................................................................................................... 99

6-2-1 didStart .............................................................................................................. 99 6-2-2 didStop ............................................................................................................. 100 6-2-3 didFindPrinter .................................................................................................. 101 6-2-4 didConnect ...................................................................................................... 102 6-2-5 didNotConnect ................................................................................................. 103 6-2-6 willLookupPrinters ............................................................................................ 104 6-2-7 didLookupPrinters ............................................................................................ 105 6-2-8 didNotLookup................................................................................................... 106 6-2-9 didBeBrokenConnection .................................................................................. 107 6-2-10 didDisconnect ................................................................................................ 108 6-2-11 msrArrived ...................................................................................................... 109 6-2-12 didUpdateStatus ............................................................................................ 110 6-2-13 outputComplete ............................................................................................. 111

7. Appendix .......................................................................................................................... 112

7-1-1 Error Diffusion .................................................................................................. 112

7-1-2 Printer Model 분류 .......................................................................................... 113

7-1-3 Transaction / Async mode 조합 설정 비교 ..................................................... 114

Page 5: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 5 -

1. 매뉴얼 안내

이 SDK 매뉴얼에는 iOS용 응용 프로그램 개발에 필요한 Library 에 대한 내용이 기술

되어 있습니다.

저희 ㈜빅솔론은 제품의 기능과 품질 향상을 위하여 지속적인 개선을 하고 있습니다.

이로 인하여 제품의 사양과 매뉴얼의 내용은 사전 통보 없이 변경될 수 있습니다.

1-1 지원 장치

아래의 리스트는 검증된 장치 리스트 입니다.

• iPhone 4 / 5 / 5s / 6 / 6Plus / 6s / 6s Plus • iPad2 / iPad mini / iPad Air / iPad Pro

1-2 지원 Platform & 개발환경 - Platform

• iOS 5.1.1 이상

Page 6: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 6 -

1-3 지원 Printer/Interface 목록

Method/Property Ethernet Wi-Fi Bluetooth

SRP-275 O X X

SRP-275II O X X

SRP-275III O X X

SRP-350II O X X

SRP-350IIOBE O X O

SRP-350III O X X

SRP-352III O X X

SRP-350plus O X X

SRP-350plusII O X X

SRP-350plusIII O O O

SRP-352plus O X X

SRP-352plusII O X X

SRP-352plusIII O O O

SRP-F310 O O X

SRP-F312 O O X

SRP-F310II O O O

SRP-F312II O O O

SRP-F313II O O O

SRP-340 O X X

SPP-R200II X O O

SPP-R210 X O O

SPP-R220 X O O

SPP-R300 X O O

SPP-R400 X O O

SPP-R410 X O O

SPP-R200III X O O

SPP-R310 X O O

SRP-380 O O O

SRP-382 O O O

SRP-330II O X X

SRP-332II O X X

SRP-340II O X X

SRP-342II O X X

SRP-S300 O O O

SRP-Q300 O O O

SRP-Q302 O O O

Page 7: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 7 -

1-4 지원 Properties 목록

Property POS Printer Mobile Printer

Version O O

delegate O O

Target O O

lookupDuration O O

lookupCount O O

alignment O O

attribute O O

textSize O O

characterSet O O

internationalCharacterSet O O

State O O

Power O O

AutoConnection O O

drawerPin O X

drawerOpenLevel O X

Page 8: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 8 -

1-5 지원 Method 목록

Method POS Printer Mobile Printer

General

getInstance O O

open O O

close O O

Search

lookup O O

willLookupPrinters O O

didFindPrinter O O

didLookupPrinters O O

didNotLookup O O

Connection

selectTarget O O

connect O O

disconnect O O

didConnect O O

didDisconnect O O

didNotConnect O O

didBeBrokenConnection O O

Status Check

enableLSB O O

checkPrinter O O

isSupport_MSR O O

isSupport_IC O O

isSupport_Config O O

isSupport_CashDrawer O O

isSupport_LSB O O

getBarcodeSupportTable O O

Printings

printText O O

printBox O O

lineFeed O O

nextPrintPos O O

printBarcode O O

printBitmap O O

printBitmapWithImage O O

MSR

msrReadReady X O

msrReadCancel X O

msrReadTrack X O

msrGetTrack X O

msrReadFullTrack X O

Direct IO directIO O O

Page 9: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 9 -

IC Card

icON X X

icOFF X X

icApdu X X

icGetStatus X X

NV Image

nvImageList O O

downloadNVImage (Diffusion)

O O

downloadNVImage (Normal)

O O

printNVImage O O

removeNVImage O O

removeAllNVImages O O

Cash Drawer openDrawer O X

Page 10: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 10 -

1-6 SDK 프로젝트 설정 [참고] iOS 개발을 위해 애플 개발자 프로그램이 등록되어있어야 합니다.

자세한 내용은 애플 개발자 사이트(http://developer.apple.com/devcenter/ios) 를 참조 하십시오.

1-6-1 ExternalAccessory.framework 추가 하기

1) Project 파일을 선택

2) Info Tab을 선택

3) 3번의 영역에서 ctrl + click

4) 팝업 메뉴가 보이면 “Add Row” 선택

5) “Supported external accessory protocols” 를 입력

6) Item 항목에 “com.bixolon.protocol” 을 입력.

1 2

3

4

5

Page 11: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 11 -

1-6-2 Bluetooth Protocol 추가 하기

1) Project – Info - + 를 차례로 선택.

2) “ExternalAccessory.framework” 를 검색 후 Add 버튼을 눌러 추가.

1 2

3

Page 12: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 12 -

1-6-3 프로젝트에 Bixolon Library 추가 하기

1) Library 폴더를 프로젝트에 드래그 & 드롭 합니다.

Drag & Drop

Page 13: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 13 -

2. 상수값

제공하는 SDK에서 사용하는 상수 값은 “BXCode.h” 파일에 정의되어 있습니다.

2-1 상수 값 정의

2-1-1 Character Set

코드페이지를 정의하는 속성으로 기본 값은 BXL_CS_437로 설정됩니다.

사용 가능한 코드페이지는 다음과 같습니다.

Code Value Description

BXL_CS_PC437 0 Code page PC437

BXL_CS_Katakana 1 Katakana

BXL_CS_PC850 2 Code page PC850

BXL_CS_PC860 3 Code page PC860

BXL_CS_PC863 4 Code page PC863

BXL_CS_PC865 5 Code page PC860

BXL_CS_WPC1252 16 Code page WPC1252

BXL_CS_PC866 17 Code page PC860

BXL_CS_PC852 18 Code page PC852

BXL_CS_PC858 19 Code page PC858

BXL_CS_PC864 22 Code page PC864

BXL_CS_THAI42 23 Code page THAI42

BXL_CS_WPC1253 24 Code page WPC1253

BXL_CS_WPC1254 25 Code page WPC1254

BXL_CS_WPC1257 26 Code page WPC1257

BXL_CS_FARSI 27 Code page FARSI

BXL_CS_WPC1251 28 Code page WPC1251

BXL_CS_PC737 29 Code page PC737

BXL_CS_PC775 30 Code page PC775

BXL_CS_THAI14 31 Code page THAI14

BXL_CS_PC862 33 Code page PC862

BXL_CS_PC855 36 Code page PC855

BXL_CS_PC857 37 Code page PC857

BXL_CS_PC928 38 Code page PC928

BXL_CS_THAI16 39 Code page THAI16

BXL_CS_WPC1256 40 Code page WPC1256

BXL_CS_USER 255 User set page

Page 14: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 14 -

2-1-2 International Character Set

International character set 을 정의하는 속성으로 기본 값은 BXL_ICS_USA로

설정됩니다.

사용 가능한 International Character Set은 다음과 같습니다.

Code Value Description

BXL_ICS_USA 0 U.S.A

BXL_ICS_FRANCE 1 France

BXL_ICS_GERMANY 2 Germany

BXL_ICS_UK 3 U.K

BXL_ICS_DENMARK1 4 Denmark I

BXL_ICS_SWEDEN 5 Sweden

BXL_ICS_ITALY 6 Italy

BXL_ICS_SPAIN 7 Spain

BXL_ICS_NORWAY 9 Norway

BXL_ICS_DENMARK2 10 Denmark II

2-1-3 Text Encoding

Text Encoding 형식을 정의하는 속성으로

기본 값은 BXL_TEXTENCODING_SINGLEBYTEFONT로 설정됩니다.

사용 가능한 Text Encoding 은 다음과 같습니다.

Code Value Description

BXL_TEXTENCODING_SINGLEBYTEFONT 0x00000001 Default.

Single byte font 사용.

BXL_TEXTENCODING_KSC5601 0x80000422 한국어 인코딩

BXL_TEXTENCODING_SHIFT_JIS 0x00000008 일본어 인코딩

BXL_TEXTENCODING_BIG5 0x80000a03 중국어 인코딩 – BIG5

BXL_TEXTENCODING_GB2312 0x80000421 중국어 인코딩 – GB2312

BXL_TEXTENCODING_GB18030 0x80000632 중국어 인코딩 – GB18030

더 많은 인코딩 형식을 보시려면 NSString.h NSStringEncoding 을 참조하십시오.

Page 15: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 15 -

2-1-4 Barcode/Image/Text Alignment

바코드/이미지/텍스트 정렬 값을 정의하는 속성으로 기본 값은 BXL_ALIGNMENT

_LEFT로 설정됩니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_ALIGNMENT_LEFT 0 왼쪽 정렬

BXL_ALIGNMENT_CENTER 1 가운데 정렬

BXL_ALIGNMENT_RIGHT 2 오른쪽 정렬

2-1-5 Text Size

텍스트 크기를 설정 값을 정의하는 속성으로 가로 배율과 세로 배율 값을 OR연산으로

동시에 지정할 수 있습니다.

사용 가능한 속성은 다음과 같습니다.

<Width 속성>

Code Value Description

BXL_TS_0WIDTH 0 가로 넓이 배율을 X1로 설정합니다.

BXL_TS_1WIDTH 16 가로 넓이 배율을 X2로 설정합니다.

BXL_TS_2WIDTH 32 가로 넓이 배율을 X3로 설정합니다.

BXL_TS_3WIDTH 48 가로 넓이 배율을 X4로 설정합니다.

BXL_TS_4WIDTH 64 가로 넓이 배율을 X5로 설정합니다.

BXL_TS_5WIDTH 80 가로 넓이 배율을 X6로 설정합니다.

BXL_TS_6WIDTH 96 가로 넓이 배율을 X7로 설정합니다.

BXL_TS_7WIDTH 112 가로 넓이 배율을 X8로 설정합니다.

<Height 속성>

Code Value Description

BXL_TS_0HEIGHT 0 세로 높이 배율을 X1로 설정합니다.

BXL_TS_1HEIGHT 16 세로 높이 배율을 X2로 설정합니다.

BXL_TS_2HEIGHT 32 세로 높이 배율을 X3로 설정합니다.

BXL_TS_3HEIGHT 48 세로 높이 배율을 X4로 설정합니다.

BXL_TS_4HEIGHT 64 세로 높이 배율을 X5로 설정합니다.

BXL_TS_5HEIGHT 80 세로 높이 배율을 X6로 설정합니다.

BXL_TS_6HEIGHT 96 세로 높이 배율을 X7로 설정합니다.

BXL_TS_7HEIGHT 112 세로 높이 배율을 X8로 설정합니다.

Page 16: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 16 -

2-1-6 Text Attribute

텍스트 속성을 설정하며, 각 속성은 OR 로 중첩될 수 있습니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_FT_DEFAULT 0 기본 속성

NOT BOLD, FONTA, NOT UNDERLINE, NOT REVERSE

BXL_FT_FONTB 1 FONTB를 사용합니다.

BXL_FT_FONTC 16 FONTC를 사용합니다.

BXL_FT_BOLD 2 볼드 속성을 지정합니다.

BXL_FT_UNDERLINE 4 언더라인 속성을 지정합니다.

BXL_FT_REVERSE 8 반전 속성을 지정합니다.

BXL_ExFT_CHINA_FONTB 32

2-1-7 Barcode Text Position

바코드 데이터를 출력시키는 위치를 설정합니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_BC_TEXT_NONE 0 바코드 데이터를 출력하지 않습니다.

BXL_BC_TEXT_ABOVE 1 바코드 데이터를 바코드 위쪽에 출력합니다.

BXL_BC_TEXT_BELOW 2 바코드 데이터를 바코드 아래쪽에 출력합니다.

Page 17: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 17 -

2-1-8 Barcode Symbology

바코드 타입을 정의합니다.

사용 가능한 속성은 다음과 같습니다.

Code Value 데이터 개수 데이터 범위

BXL_BCS_UPCA 101 11 <= n <= 12 48 <= data <= 57

BXL_BCS_UPCE 102 11 <= n <= 12 48 <= data <= 57

BXL_BCS_EAN13 103 12 <= n <= 13 48 <= data <= 47

BXL_BCS_JAN13 104 7 <= n <= 8 48 <= data <= 57 64 <= data <= 90 data = 32,36,37,43,45,46,47

BXL_BCS_EAN8 105 7 <= n <= 8 48 <= data <= 57

BXL_BCS_JAN8 106 7 <= n <= 8 48 <= data <= 57

BXL_BCS_Code39 107 1 <= n <= 255 48 <= data <= 57 65 <= data <= 68 data = 32,36,37,43,45,46,47

BXL_BCS_ITF 108 1 <= n <= 255

(짝수) 48 <= data <= 57

BXL_BCS_Codabar 109 1 <= n <= 255 48 <= data <= 57 65 <= data <= 68 data = 36,43,45,46,47,58

BXL_BCS_Code93 110 1 <= n <= 255 0 <= data <= 127

BXL_BCS_Code128 111 2 <= n <= 255 0 <= data <= 127

BXL_BCS_PDF417 200 2 <= n <= 928 0 <= data <= 255

BXL_BCS_QRCODE 202~203 2 <= n <= 928 0 <= data <= 255

BXL_BCS_DATAMATRIX 204 2 <= n <= 928 0 <= data <= 255

BXL_BCS_MAXICODE 205~6 2 <= n <= 928 0 <= data <= 255

Page 18: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 18 -

2-1-9 Image Width

이미지의 너비를 설정합니다. 0~최대 너비까지 설정할 수 있습니다.

아래 값을 설정 시 조건에 맞게 이미지 크기가 변환됩니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_WIDTH_FULL -1 최대 너비 값으로 설정되어 용지 크기에 맞게

이미지가 변환됩니다.

BXL_WIDTH_NONE -2 이미지의 크기 변화를 주지 않습니다.

2-1-10 Status Check Mask

프린터 상태를 검사할 범위를 지정하는 속성 입니다.

checkPrinter Method의 Parameter로 사용됩니다.

배터리 잔량 상태 값은 다음과 같습니다.

Code Value Description

BXL_MASK_COVERSTATUS 1 프린터의 커버 상태를 체크 합니다.

BXL_MASK_PAPERSTATUS 2 프린터의 종이 상태를 체크 합니다.

BXL_MASK_POWERSTATUS 4 프린터의 전원 상태를 체크 합니다.

BXL_MASK_MODELNAME 8 프린터의 모델명을 확인 합니다.

BXL_MASK_VERSION 16 프린터의 Firmware 버전을 확인 합니다.

BXL_MASK_CASHDRAWER 32 프린터에 CashDrawer가 연결되어있을 경우

CashDrawer의 상태를 확인 합니다.

BXL_MASK_ALL 0XFF 위의 모든 상태를 체크 합니다.

2-1-11 Power

프린터의 배터리 잔량 상태 값이 설정되는 속성입니다. 읽기만 가능하며 프린터의

배터리 상태가 변할 때마다 이 속성에 설정됩니다

배터리 잔량 상태 값은 다음과 같습니다.

Code Value Description

BXL_PWR_HIGH 0 배터리 잔량이 95% 충전된 상태입니다.

BXL_PWR_MIDDLE 1 배터리 잔량이 85% 충전된 상태입니다.

BXL_PWR_LOW 2 배터리 잔량이 50% 충전된 상태입니다.

BXL_PWR_SMALL 3 배터리 잔량이 25% 충전된 상태입니다.

BXL_PWR_NOT 4 배터리 잔량이 25% 이하 충전된 상태입니다.

Page 19: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 19 -

2-1-12 State

프린터 상태가 설정되는 속성입니다. 읽기만 가능하며 CheckPrinter 함수를 호출하여

프린터 상태를 검사할 때 이 속성이 자동으로 설정됩니다. 상태 값은 중복되어 설정될

수 있으며 비트 연산을 통해 각각의 값을 확인할 수 있습니다.

프린터 상태 값은 다음과 같습니다.

Code Value Description

BXL_STS_NORMAL 0 정상 상태

BXL_STS_PAPEREMPTY 1 종이가 없습니다.

BXL_STS_COVEROPEN 2 프린터 커버가 열려 있습니다.

BXL_STS_POWEROVER 4 프린터 배터리 잔량이 모자랍니다.

BXL_STS_MSR_READY 8 인쇄 불능

MSR 읽기 모드 상태입니다.

BXL_STS_PRINTING 16 프린터가 인쇄 중 / 데이터 전송 중입니다.

BXL_STS_ERROR 32 프린터와 교신 중 오류가 발생되었습니다.

BXL_STS_NOT_OPEN 64 BXPrinterControl의 open 메소드가

호출되지 않았습니다.

BXL_STS_ERROR_OCCUR 128 프린터 내부에 오류가 생겼습니다.

BXL_STS_NOT_CONNECTED -1 현재 프린터에 연결되지 않았습니다.

2-1-13 Connection Control

프린터 접속 방식을 설정합니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_CONNECTIONMODE_AUTO 0 자동 연결 모드

BXL_CONNECTIONMODE_NOAUTO 100 수동 연결 모드

2-1-14 Drawer kick-out connector pin

Cash drawer 연결에 사용할 핀의 번호를 설정합니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_CASHDRAWER_PIN_2 0 Cash drawer 연결 핀 : 2

BXL_CASHDRAWER_PIN_5 1 Cash drawer 연결 핀 : 5

2-1-15 Drawer open level

Cash drawer 방식을 설정합니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_CASHDRAWER_OPENLEVEL_LOW 0 Cash drawer 가 열리면 Low

BXL_CASHDRAWER_OPENLEVEL_HIGH 1 Cash drawer 가 열리면 High

Page 20: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 20 -

2-1-16 Model ID

할당할 프린터 타입을 지정합니다.

사용 가능한 속성은 다음과 같습니다.

Code Value Description

BXL_MODEL_ID_SPPR200II 0x12000002 SPP-R200II

BXL_MODEL_ID_SRPR210 0x12100000 SPP-R210

BXL_MODEL_ID_SPPR220 0x12200000 SPP-R220

BXL_MODEL_ID_SRPR300 0x13000000 SPP-R300

BXL_MODEL_ID_SPPR400 0x14000000 SPP-R400

BXL_MODEL_ID_SPPR410 0x14100000 SPP-R410

BXL_MODEL_ID_SRP350II 0x23500002 SRP-350II

BXL_MODEL_ID_SRP350plus 0x23507000 SRP-350plus

BXL_MODEL_ID_SRP352plus 0x23527000 SRP-352plus

BXL_MODEL_ID_SRP350plusII 0x23507002 SRP-350plusII

BXL_MODEL_ID_SRP352plusII 0x23527002 SRP-352plusII

BXL_MODEL_ID_SRP350III 0x23500003 SRP-350III

BXL_MODEL_ID_SRP352III 0x23520003 SRP-352III

BXL_MODEL_ID_SRP275 0x32750000 SRP-275, SRP-275II

BXL_MODEL_ID_SRP275III 0x32750003 SRP-275III

BXL_MODEL_ID_SRPF310 0x93100000 SRP-F310

BXL_MODEL_ID_SRPF312 0x93120000 SRP-F312

BXL_MODEL_ID_SRPF310II 0x93100002 SRP-F310II

BXL_MODEL_ID_SRPF312II 0x93120002 SRP-F312II

BXL_MODEL_ID_SRPF313II 0x93130002 SRP-F313II

BXL_MODEL_ID_SRP350plusIII 0x23507002 SRP-350plusIII

BXL_MODEL_ID_SRP352plusIII 0x23527002 SRP-352plusIII

BXL_MODEL_ID_SRP340 0x23400000 SRP-340

BXL_MODEL_ID_SPPR200III 0x12000003 SPP-R200III

BXL_MODEL_ID_SRPF310 0x93100000 SPP-R310

BXL_MODEL_ID_SRP380 0x83800000 SRP-380

BXL_MODEL_ID_SRP382 0x83820000 SRP-382

BXL_MODEL_ID_SRPF310II 0x93100002 SRP-330II

BXL_MODEL_ID_SRPF312II 0x93120002 SRP-332II

BXL_MODEL_ID_SRP340II 0x23507002 SRP-340II

BXL_MODEL_ID_SRP342II 0x23527002 SRP-342II

BXL_MODEL_ID_SRPS300 0x33000000 SRP-S300

BXL_MODEL_ID_SRPQ300 0x83000000 SRP-Q300

BXL_MODEL_ID_SRPQ302 0x83020000 SRP-Q302

Page 21: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 21 -

2-1-17 Connection Class

프린터의 연결 타입을 정의 합니다.

„didFindPrinter‟ 함수가 호출 될 때 BXPrinter class 의 connectionClass 에 갱신 됩니다.

Code Value Description

BXL_CONNECTIONCLASS_WIFI 0x0000 WIFI Connection

BXL_CONNECTIONCLASS_ETHERNET 0x0001 Ethernet Connection

BXL_CONNECTIONCLASS_BLUETOOTH 0x0002 Bluetooth Connection

2-1-18 Result Code

Method에서 특정 기능을 수행 후 반환하는 결과 값을 정의합니다.

Code DEFINE Value Description

BXL_SUCCESS 0 성공

BXL_NOT_CONNECTED -1 프린터와 연결되지 않았습니다.

BXL_NOT_OPENED 101 SDK가 OPEN되지 않았습니다.

BXL_STATUS_ERROR 103 상태 검사에서 에러가 발생되었습니다.

BXL_CONNECT_ERROR 105 접속 실패

BXL_NOT_SUPPORT 107 지원되지 않음

BXL_BAD_ARGUMENT 108 잘못된 함수 인자

BXL_BUFFER_ERROR 109 MSR 버퍼가 정상적이지 않은 경우

BXL_NOT_CONNECTED 110 프린터와 연결되어 있지 않음

BXL_RGBA_ERROR 111 이미지 파일을 RGBA 데이터로

변환 과정에서 오류 발생

BXL_MEMORY_ERROR 112 메모리 할당 실패

BXL_TOO_LARGE_IMAGE 113 NV 영역에 이미지 다운로드 시 너무

큰 이미지 파일인 경우

BXL_NOT_SUPPORT_DEVICE 114 프린터에서 지원되지 않습니다.

BXL_READ_ERROR 301 데이터 수신이 실패하였습니다.

BXL_WRITE_ERROR 300 데이터 전송이 실패하였습니다.

BXL_BITMAPLOAD_ERROR 400 이미지 파일을 읽지 못했습니다.

BXL_BC_DATA_ERROR 500 바코드 데이터가 잘못되었습니다.

BXL_BC_NOT_SUPPORT 501 지원되지 않는 바코드 타입입니다.

BXLMSR_NOTREADY 602 MSR READY 상태가 아닙니다.

BXLMSR_FAILEDMODE 601 자동 읽기 모드가 아닙니다.

BXLMSR_DATAEMPTY 603 MSR에서 읽은 데이터가 없습니다.

1001H 알수 없는 명령어입니다.

1002H 동작이 불가능한 수행입니다.

1003H 정확하지 않은 인자 수입니다.

1004H 알수 없는 명령어 또는 유효하지 않은

명령어의 첫 바이트입니다.

1005H 응답 시간이 초과되었습니다.

Page 22: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 22 -

Code DEFINE Value Description

1010H

카드 리셋으로 인한 응답 에러입니다.

또는 응답의 첫번째 바이트가

유효하지 않습니다.

1012H

메세지 제한 초과되었습니다.

최대 254바이트, 카드 데이터는

248바이트입니다.

1013H 비동기 루틴에서 바이트 읽기 에러 발생

1015H 카드 모드가 종료됨.

카드 모드 명령어 전송 필요

101BH 인자가 부정확한 명령어가 전송

101DH TCK check 바이트가 올바르지 않음

10A0H

카드 리셋 응답에서 에러 발생(알수 없는

프로토콜 또는 TA1 바이트 인식오류) 카드

미지원. 리셋을 위한 카드 응답값이 없음

10A1H 카드 프로토콜 에러 (T=0/T=1)

10A2H 카드 응답이 없어 타임 아웃 발생

10A3H 패러티 에러

10A4H 카드의 연결이 끊어졌습니다.(T=1)

10A5H 리더의 연결이 끊어졌습니다.(T=2)

10A6H IC 모듈과 RESYNCH가 성공적으로 수행

10A7H PPS 에러

10A8H IC 모듈이 이미 IC CARD 모드로

되어 있음

10B0H PC 링크 명령어를 지원하지 않음

10E4H 카드가 유효하지 않은 Procedure byte를

보냈습니다.

10E5H 카드 교환이 중단 되었습니다..

10E7H 카드에서 에러가 리턴

10F7H 명렁어 처리중 카드가 제거

10F8H 카드가 전기적으로 소모되어 사용할 수

없습니다.

10FBH 카드 인식 불량 또는 카드 입력이 되지

않습니다.

Page 23: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 23 -

3. BXBarcode Class Reference

Inherits from NSObject

Confirms to

Framework BXPrinter.a

[Availability] iOS 4.3 and later

Declared BXBarcodeInfo.h

3-1 Overview BXBarcode Class는 제어 대상이 되는 프린터의 Barcode Type 별 지원 여부에 대한 정

보를 가지는 객체입니다.

3-2 Properties

3-2-1 barNumber

Barcode Define Number @property int barNumber [Discussion]

접속된 프린터의 정보 수집을 통해 자동으로 저장됩니다.

[See Also] 2-1-8 Barcode Symbology [Availability] SDK 3.0.3 and later

3-2-2 name

Barcode 이름

@property NSString * barName [Discussion]

접속된 프린터의 정보 수집을 통해 자동으로 저장됩니다.

[Availability] SDK 3.0.3 and later

Page 24: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 24 -

3-2-3 support

바코드의 지원 여부.

@property BOOL support [Discussion]

접속된 프린터의 정보 수집을 통해 자동으로 저장됩니다.

[Availability] SDK 3.0.3 and later

Page 25: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 25 -

4. BXPrinter Class Reference

Inherits from NSObject

Confirms to

Framework BXPrinter.a

[Availability] iOS 4.3 and later

Declared BXPrinterObject.h

4-1 Overview BXPrinter Class는 제어 대상이 되는 프린터의 정보(이름/네트워크 주소/포트)를

가지는 객체입니다.

4-2 Properties

4-2-1 name

프린터 이름

@property(readonly) NSString * name [Discussion]

접속된 프린터의 정보 수집을 통해 이름은 자동으로 저장됩니다.

[Availability] SDK 0.6.0 and later

4-2-2 address

프린터의 네트워크 주소

@property(readwrite) NSString * address [Discussion]

접속 전 프린터의 네트워크 주소를 먼저 지정해주어야 합니다.

[Availability] SDK 0.6.0 and later

Page 26: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 26 -

4-2-3 port

프린터의 네트워크 포트

@property(readwrite) unsigned short port [Discussion]

접속 전 프린터의 네트워크 포트를 먼저 지정해주어야 합니다.

[Availability] SDK 0.6.0 and later

4-2-4 modelStr

프린터의 모델명

펌웨어에서 제공되는 모델명으로 SRP-350II 프린터의 경우_ SRP-350II으로

제공됩니다.

@property(readwrite) NSString * modelStr [Discussion]

BXPrinterController의 checkPrinter 메소드에 의해 이 값은 갱신됩니다.

[See Also] 5-3-17 checkPrinter [Availability] SDK 0.8.0 and later

4-2-5 versionStr

프린터의 펌웨어 버전

펌웨어에서 제공되는 버전명으로 V01.00 STOB 040711과 같은 형태로 제공됩니다.

@property(readwrite) NSString * versionStr [Discussion]

BXPrinterController의 checkPrinter 메소드에 의해 이 값은 갱신됩니다.

[See Also] 5-3-17 checkPrinter [Availability] SDK 0.8.0 and later

Page 27: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 27 -

4-2-6 connectionClass

프린터의 연결 방식

프린터가 네트워크에 연결된 방식이 저장됩니다.

@property(readwrite) unsigned short * connectionClass [See Also] 2-1-17 Connection Class [Availability] SDK 3.0.3 and later

Page 28: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 28 -

5. BXPrinterController Class Reference

Inherits from NSObject

Confirms to

Framework BXPrinter.a

[Availability] iOS 4.3 and later

Declared BXPrinter.h

5-1 Overview BXPrinterController Class는 프린터 제어를 위한 메인 객체입니다.

5-2 Properties

5-2-1 version

SDK 버전

@property(readonly) NSString * version [Discussion]

“1.0.0” 과 같은 형태로 이뤄진 문자열이며 읽기 전용입니다.

[See Also] 5-3-17 checkPrinter [Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController ggeettIInnssttaannccee];

If(pController == nil)

NSLog (@”getInstance Fail.”);

NSLog(@“SDK Version : %@”, pController.version);

Page 29: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 29 -

5-2-2 delegate

BXPrinterControlDelegate 메소드를 받을 객체의 지정

@property(readwrite) id<BXPrinterControlDelegate> delegate [Availability] SDK 0.6.0 and later [Example]

@interface delegateTestClass : NSObject<BXPrinterControllerDelegate> { } @end @implementation TestClass // process -(void) printerInitialize {

BXPrinterControler * pController = [BXPrinterController getInstance];

If(pController == nil) NSLog (@”getInstance Fail.”);

pController.delegate = sseellff;

} //process @end

Declaration

Implementation

Page 30: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 30 -

5-2-3 target

제어 대상 프린터 객체

@property(readwrite) BXPrinter * target [Discussion]

제어 대상이 되는 프린터 객체로서 프린터 제어 전 지정이 되어야 합니다.

[See Also]. 5-3-5 selectTarget [Availability] SDK 0.6.0 and later

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[pController Open];

// lookup 함수를 이용하여 검색된 프린터 객체를 사용 할 수도 있습니다.

BXPrinter* printer = [BXPrinter new]; printer.connectionClass=BXL_CONNECTIONCLASS_BT; printer.macAddress = @”XX:XX:XX:XX:XX:XX”;

ppCCoonnttrroolllleerr..ttaarrggeett == pprriinntteerr;;

If(BXL_SUCCESS == [pController selectTarget]) { NSLog(@”Select Target Success”); } // … [printer release]; //…

Page 31: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 31 -

5-2-4 lookupDuration

프린터 검색 시간 (단위: 초)

@property(readwrite) CGFloat lookupDuration [Discussion]

0.5와 같이 소수점 부분을 포함할 수 있습니다.

[Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..llooookkuuppDDuurraattiioonn == 22..00;;

pController.lookupCount = 5; [pController lookup]

Page 32: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 32 -

5-2-5 lookupCount

프린터 검색을 위한 신호 전송의 반복 회수

@property(readwrite) unsigned lookupCount [Discussion]

기본 값은 1로 설정되어 있으며 1보다 큰 숫자가 지정된 경우,

프린터 검색시 0.2초 단위로 이 숫자만큼 반복해서 프린터 검색 신호를 전송합니다.

[Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

pController.lookupDuration = 2.0;

ppCCoonnttrroolllleerr..llooookkuuppCCoouunntt == 55;; [pController lookup]

Page 33: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 33 -

5-2-6 alignment

가로 정렬 설정

@property(readwrite) int alignment [Discussion]

기본 값은 좌측 정렬로 되어 있으며, 이 값은 텍스트, 바코드 등 모든 출력 값에

영향을 미칩니다.

[Availability] SDK 0.8.0 and later [See Also] 2-1-4 Barcode/Image/Text Alignment

5-3-9 printText

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..aalliiggnnmmeenntt == BBXXLL__AALLIIGGNNMMEENNTT__LLEEFFTT;;

If(BXL_SUCCESS == [pController printText:@”This is alignment Test - left”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..aalliiggnnmmeenntt == BBXXLL__AALLIIGGNNMMEENNTT__CCEENNTTEERR;;

If(BXL_SUCCESS == [pController printText:@”This is alignment Test - center”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..aalliiggnnmmeenntt == BBXXLL__AALLIIGGNNMMEENNTT__RRIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is alignment Test - right”]) NSLog(@”printText Success”);

Page 34: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 34 -

5-2-7 attribute

텍스트 출력 속성을 지정합니다.

@property(readwrite) int attribute [Availability] SDK 0.8.0 and later [See Also] 2-1-6 Text Attribute 5-3-9 printText

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..aattttrriibbuuttee == BBXXLL__AALLIIGGNNMMEENNTT__LLEEFFTT;;

If(BXL_SUCCESS == [pController printText:@”This is alignment Test - left”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..aalliiggnnmmeenntt == BBXXLL__AALLIIGGNNMMEENNTT__CCEENNTTEERR;;

If(BXL_SUCCESS == [pController printText:@”This is alignment Test - center”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..aalliiggnnmmeenntt == BBXXLL__AALLIIGGNNMMEENNTT__RRIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is alignment Test - right”]) NSLog(@”printText Success”);

Page 35: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 35 -

5-2-8 textSize

인쇄되는 문자의 크기 설정

@property(readwrite) int textSize [Availability] SDK 0.6.0 and later [See Also] 2-1-5 Text Size 5-3-9 printText

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__00WWIIDDTTHH|| BBXXLL__TTSS__11HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 0x0-default”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__11WWIIDDTTHH|| BBXXLL__TTSS__11HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 1x1”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__22WWIIDDTTHH|| BBXXLL__TTSS__22HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 2x2”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__22WWIIDDTTHH|| BBXXLL__TTSS__44HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 2x4”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__77WWIIDDTTHH|| BBXXLL__TTSS__77HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 7x7”]) NSLog(@”printText Success”);

Page 36: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 36 -

5-2-9 characterSet

프린터의 코드 페이지를 정의하는 속성

@property(readwrite) char characterSet [Discussion]

기본 값은 BXL_CS_437로 설정되어 있습니다.

[Availability] SDK 0.6.0 and later [See Also] 2-1-1 Character Set

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..cchhaarraacctteerrSSeett == BBXXLL__CCSS__443377;; If(BXL_SUCCESS == [pController printText:@” ”])

NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__11WWIIDDTTHH|| BBXXLL__TTSS__11HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 1x1”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__22WWIIDDTTHH|| BBXXLL__TTSS__22HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 2x2”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__22WWIIDDTTHH|| BBXXLL__TTSS__44HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 2x4”]) NSLog(@”printText Success”);

ppCCoonnttrroolllleerr..tteexxttSSiizzee == BBXXLL__TTSS__77WWIIDDTTHH|| BBXXLL__TTSS__77HHEEIIGGHHTT;;

If(BXL_SUCCESS == [pController printText:@”This is textSizeTest 7x7”]) NSLog(@”printText Success”);

Page 37: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 37 -

5-2-10 internationalCharacterSet

프린터의 특수문자 영역의 코드 페이지를 정의하는 속성

@property(readwrite) char internationalCharacterSet [Discussion]

2-1-2 International Character Set 참고. 기본 값은 BXL_ICS_USA 로 설정되어 있습니

다.

[Availability] SDK 0.6.0 and later [See Also] 2-1-2 internationalCharacter Set

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..cchhaarraacctteerrSSeett == BBXXLL__CCSS__443377;; If(BXL_SUCCESS == [pController printText:@” ”])

NSLog(@”printText Success”);

Page 38: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 38 -

5-2-11 textEncoding

Text Encoding 방식을 설정.

@property(readwrite) long textEncoding [Discussion]

characterSet은 1바이트 폰트 내에서 사용 가능한 확장 코드 셋입니다.

2바이트 폰트 및 일부 문자의 경우 별도의 텍스트 인코딩이 필요할 수 있습니다.

[See Also] 2-1-3 Text Encoding

[Availability] SDK 3.0.2 and later

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..tteexxttEEnnccooddiinngg

== BBXXLL__TTEEXXTTEENNCCOODDIINNGG__KKSSCC55660011;; If(BXL_SUCCESS == [pController printText:@” ”])

NSLog(@”한국어 출력 성공”);

ppCCoonnttrroolllleerr..tteexxttEEnnccooddiinngg

== BBXXLL__TTEEXXTTEENNCCOODDIINNGG__SSHHIIFFTT__JJIISS;; If(BXL_SUCCESS == [pController printText:@” ”])

NSLog(@”にほんご出力か 完了しました。”);

ppCCoonnttrroolllleerr..tteexxttEEnnccooddiinngg

== BBXXLL__TTEEXXTTEENNCCOODDIINNGG__GGBB1188003300;; If(BXL_SUCCESS == [pController printText:@” ”])

NSLog(@” 完成中國輸出”);

KSC5601

Shift-JIS

GB18030

Page 39: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 39 -

5-2-12 state

프린터 상태 코드

이 값은 BXPrinterController의 checkPrinter 메소드 호출 후 갱신됩니다.

@property(readonly) long state [Availability] SDK 0.6.0 and later [See Also] 2-1-12 State 5-3-17 checkPrinter

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); If (BXL_SUCCESS==

[pController checkStatus:BXL_MASK_COVEROPEN ] ) {

If(ppCCoonnttrroolllleerr..ssttaattee && BBXXLL__SSTTSS__CCOOVVEERROOPPEENN)

NSLog(@”printer Cover is open”); } If (BXL_SUCCESS==

[pController checkStatus:BXL_MASK_All ] ) {

If(ppCCoonnttrroolllleerr..ssttaattee && BBXXLL__SSTTSS__CCOOVVEERROOPPEENN)

NSLog(@”printer Cover is open”);

If(ppCCoonnttrroolllleerr..ssttaattee && BBXXLL__SSTTSS__PPAAPPEERREEMMPPTTYY)

NSLog(@”Paper is empty.”); }

커버 상태만 체크

모든 상태 체크

Page 40: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 40 -

5-2-13 power

프린터의 전원 상태를 속성

이 값은 BXPrinterController의 checkPrinter 메소드 호출 후 갱신됩니다.

@property(readonly) long state [Discussion]

배터리를 사용하지 않는 모델의 경우 항상 BXL_PWR_HIGH 를 리턴 합니다.

[See Also] 2-1-11 Power 5-3-17 checkPrinter [Availability] SDK 0.6.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); If (BXL_SUCCESS==

[pController checkStatus:BXL_MASK_POWERSTATUS] ) {

switch(ppCCoonnttrroolllleerr..ppoowweerr)

{ case BXL_PWR_HIGH:

NSLog(@”Power Status is High”); break;

case BXL_PWR_MIDDLE:

NSLog(@”Power Status is Middle”); break;

case BXL_PWR_LOW:

NSLog(@”Power Status is Low”); break;

} }

Page 41: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 41 -

5-2-14 AutoConnection

프린터 접속에 대한 옵션에 대한 속성

@property(assign) int AutoConnection [Discussion]

이 속성을 BXL_CONNECTIONMODE_AUTO 로 설정하면

5-3-6 connect / 5-3-7 disconnect 메소드를 사용 할 수 없으며,

접속이 필요한 기능의 경우 자동으로 접속하도록 기능이 구현 되어있습니다.

매번 connect와 disconnect를 반복하므로 출력 속도가 느려질 수 있으며,

Bluetooth 모드에서는 지원하지 않습니다.

[See Also] 2-1-13 Connection Control 5-3-6 connect 5-3-7 disconnect

[Availability] SDK 2.0.2 and later

Page 42: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 42 -

5-2-15 drawerPin

CashDrawer 의 핀 속성을 지정 합니다.

@property(assign) int drawerPin

[Discussion]

잘못된 Pin 속성을 지정 할 경우 CashDrawer가 동작하지 않을 수 있습니다.

이 경우 속성을 확인 바랍니다.

[Availability] SDK 3.0.1 and later [See Also] 2-1-14 Drawer kick-out connector pin

Page 43: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 43 -

5-2-16 drawerOpenLevel

Cash Drawer의 Open을 인식하는 Level 을 지정 합니다.

@property(assign) int drawerOpenLevel [Discussion]

잘못 된 Open Level 속성을 지정 할 경우

CashDrawer 의 Open/Close의 상태가 반대로 지정 될 수 있습니다.

이 경우 Open Level 을 확인 하시기 바랍니다.

[Availability] SDK 3.0.1 and later [See Also] 2-1-15 Drawer open level

Page 44: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 44 -

5-2-17 textPosition

바코드 텍스트 위치 설정

@property(assign) int textPosition [See Also] 2-1-7 Barcode Text Position 2-1-8 Barcode Symbology

5-3-13 printBarcode

[Availability] SDK 2.0.2 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

ppCCoonnttrroolllleerr..tteexxttPPoossiittiioonn == BBXXLL__BBCC__TTEEXXTT__NNOONNEE;

lResult = [pController printBarcode:“123456789012” symbology: BXL_BCS_EAN13 width: 3 height:100];

If(BXL_SUCCESS == lResult) NSLog(@”printBarcode Success.”);

Page 45: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 45 -

5-3 Instance Methods

5-3-1 getInstance

BXPrinterController 클래스 인스턴스를 얻는 메소드

[Syntax] - (BXPrinterController)getInstance [Return Value]

최초 호출 시 BXPrinterController 클래스를 자동으로 생성하여 반환하고,

이후 호출 시 먼저 생성된 BXPrinterController 클래스를 반환합니다.

[Discussion]

BXPrinterController 클래스는 하나의 프로세스에서 하나의 인스턴스 만 사용하므로,

사용자가 직접 생성하지 않고, 이 메소드를 통해 얻고 사용합니다.

[Availability] SDK 0.8.0 and later [Example]

BXPrinterController* pController = [BXPrinterController ggeettIInnssttaannccee];

If(pController == nil)

NSLog (@”getInstance Fail.”);

Page 46: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 46 -

5-3-2 open

BXPrinterController 클래스 사용을 위한 초기화 작업 (메모리 할당 및 백그라운드

스레드 동작)

[Syntax] - (void)open [Discussion]

(void)applicationDidBecomeActive:(UIApplication *)application 과 같은 Application의

`메인 delegate 호출 시 반드시 선행되어 호출되어야 합니다.

[Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController == nil)

NSLog (@”getInstance Fail.”);

[pController ooppeenn];

Page 47: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 47 -

5-3-3 close

BXPrinterController 클래스 사용을 중단 또는 종료하기 위해 할당된 리소스 해제 작

업을 수행합니다.

[Discussion]

- (void)applicationWillResignActive:(UIApplication *)application과 같은 Application의 메

인 delegate 호출 시 반드시 선행되어 호출되어야 합니다.

close 메소드가 호출되지 않고 BXPrinterController 를 사용하는 앱이 백그라운드

모드로 동작하는 경우, 또 다른 앱에서의 BXPrinterController 동시 사용이 제한될

수 있습니다.

[Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController == nil)

NSLog (@”getInstance Fail.”);

[pController Open]; //Do Something

[pController cclloossee];

Page 48: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 48 -

5-3-4 lookup

아이폰이 연결된 WiFi와 동일한 네트워크 대역에서 프린터를 검색합니다.

[Syntax] - (void)lookup

[Discussion]

검색의 시작/종료 및 검색된 프린터는 BXPrinterControlDelegate를 통해 얻을 수 있습

니다.

아이폰의 경우 3G 와 WiFi 각각 2개의 네트워크 어댑터를 가지며 lookup 메소드는

이중 WiFi만을 사용해서 검색합니다.

현재 연결된 WiFi가 없는 경우 아무런 작업을 하지 않습니다.

[See Also] 6-2-3 didFindPrinter 6-2-6 willLookupPrinters 6-2-7 didLookupPrinters 6-2-8 didNotLookup

[Availability] SDK 0.6.0 and later

[Example]

- (IBAction) buttonUp_Lookup:(id)sender {

NSLog(@" Lookup / Targetting Button Up."); BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[pController llooookkuupp];

}

// 프린터 검색이 시작 될 때 아래 함수가 호출 됩니다.

- (void)willLookupPrinters:(BXPrinterController *)controller { NSLog(“will Lookup Printers.”); }

// 프린터 검색이 완료 되면 아래 함수가 호출 됩니다.

- (void)didLookupPrinters:(BXPrinterController *)controller {

NSLog(“printer Lookup Finish.”);

}

// 프린터가 검색 될 때마다 호출 됩니다..

- (void)didFindPrinter:(BXPrinterController *)controller printer:(BXPrinter*) printer {

NSLog(“printer Find.”); }

검색 예정

검색 완료

검색 중

Page 49: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 49 -

// 프린터가 검색 될 때마다 호출 됩니다..

- (void)didNotLookup:(BXPrinterController *)controller withError:(NSError*) error {

NSLog(“didNotLookup.”); }

검색 실패

Page 50: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 50 -

5-3-5 selectTarget

Target으로 지정 된 객체를 초기화 합니다.

[Syntax] - (long)selectTarget - (long)selectTarget : (int) modelID

[Parameters] modelID

- 모델 타입을 선택합니다.

- 사용하지 않을 경우, 자동으로 할당됩니다.

2-14 Model ID 참고

[Return Value]

2-1-18 Result Code 참고

[Discussion]

BXPrinterController의 target이 미리 지정되어 있어야 합니다.

[See Also] 5-2-3 target [Availability] SDK 2.0.2 and later

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[pController Open];

// lookup 함수를 이용하여 검색된 프린터 객체를 사용 할 수도 있습니다.

BXPrinter* printer = [BXPrinter new]; printer.connectionClass=BXL_CONNECTIONCLASS_BT; printer.macAddress = @”XX:XX:XX:XX:XX:XX”; pController.target = printer;

If(BXL_SUCCESS == [pController sseelleeccttTTaarrggeett])

{ NSLog(@”Select Target Success”); } // … [printer release]; //…

Page 51: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 51 -

5-3-6 connect

target printer에 접속 합니다.

[Syntax] - (BOOL)connect [Discussion]

AutoConnection 변수가

BXL_CONNECTIONMODE_AUTO (default, == 0)으로 설정된 경우 동작하지 않습니다.

BXPrinterController의 target이 미리 지정되어 있어야 합니다.

[See Also] 6-2-4 didConnect 6-2-5 didNotConnect 6-2-9 didBeBrokenConnection

[Availability] SDK 2.0.2 and later

[Return Value]

성공 시 YES

Connect 요청에 대한 결과 입니다.

접속에 대한 결과를 확인하시려면 delegate 함수 설명을 참조하시기 바랍니다.

[Example]

- (void ) buttonUp_Disconnect:(id)sender {

BXPrinterController* pController = [BXPrinterController getInstance];

If(pController != nil) NSLog (@”getInstance Fail.”);

If(BXL_SUCCESS == [pController ccoonnnneecctt])

NSLog(@”Connect Request is Success.”); }

// “connect” 성공 시 아래 함수가 호출 됩니다.

- (void)didConnect:(BXPrinterController *)controller printer:(BXPrinter*) printer { NSLog(“Connect Complete”); }

// “connect” 성공 시 아래 함수가 호출 됩니다.

- (void)didNotConnect:(BXPrinterController *)controller withError:(NSError*) error { NSLog(“Connect Fail”); }

SUCCESS

FAIL

Page 52: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 52 -

5-3-7 disconnect

현재 접속된 프린터와의 연결을 끊습니다.

[Syntax] - (void)disconnect [Discussion]

AutoConnection 변수가

BXL_CONNECTIONMODE_AUTO (default, == 0)으로 설정된 경우 동작하지 않습니다.

[Availability] SDK 2.0.2 and later

[See Also]

Disconnect가 완료되면 아래 delegate 함수가 호출 됩니다.

- 6-2-10 didDisconnect

[Example] - (void ) buttonUp_Disconnect:(id)sender {

// process

[pController ddiissccoonnnneecctt];

// process }

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)didDisconnect:(BXPrinterController *)controller printer:(BXPrinter*) printer { NSLog(“Disconnect Complete”); }

disconnect 완료

Page 53: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 53 -

5-3-8 enableLSB

Last status back 기능을 활성화 합니다.

[Syntax] - (long)enableLSB:(BOOL)bEnable [Parameters] bEnable

LSB 설정.

FALSE : LSB Disable TRUE : LSB Enable [Return Value]

2-1-18 Result Code 참고

[See Also] 2-1-12 State 6-2-12 didUpdateStatus [Availability] SDK 3.0.0 and later

[Example]

- (void) enableLSBTest {

// Enable

If( BXL_SUCCESS == [pController eennaabblleeLLSSBB::YYEESS];)

NSLog(@”enableLSB:YES Success” ); // disable

If(BXL_SUCCESS == [pController eennaabblleeLLSSBB::NNOO])

NSLog(@”enableLSB:NO Success”); }

// 상태가 변경되면 아래 함수가 호출 됩니다.

- (void)didUpdateStatus:(BXPrinterController *)controller status:(NSNumber*)status {

NSLog(“did Update Status”);

If(status & BXL_STS_NORMAL) NSLog(@”Printer Status is Normal.”);

If(status & BXL_STS_PAPEREMPTY) NSLog(@”Paper is empty.”);

If(status & BXL_STS_COVEROPEN) NSLog(@”Printer Status is Normal.”);

}

상태가 변경 됨.

Page 54: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 54 -

5-3-9 printText

텍스트를 인쇄 합니다.

현재 연결된 프린터가 없는 경우 아무런 작업을 하지 않습니다.

[Syntax]

(long)printText:(NSString *)string [Parameters] string

null 종결자를 가진 Unicode Data. 인쇄 대상 텍스트 스트링

[Return Value]

2-1-18 Result Code 참고

[Discussion]

텍스트의 정렬, 속성이 미리 지정되어 있어야 합니다.

[See Also] 2-1 Character Set 2-1-2 internationalCharacter Set 2-1-4 Barcode/Image/Text Alignment 2-1-5 Text Size 2-1-6 Text Attribute 5-2-6 alignment 5-2-8 textSize 5-2-7 attribute 5-2-9 characterSet 5-2-10 internationalCharacterSet 5-2-11 textEncoding

[Availability] SDK 0.6.0 and later

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

// 기본 인쇄 방법

If(BXL_SUCCESS == [pController pprriinnttTTeexxtt::@@””TThhiiss iiss pprriinnttTTeexxtt\\rr\\nn””])

NSLog(@”printText Success”);

Page 55: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 55 -

// 중앙 정렬, 굵은 글씨체로 출력

pController.alignment = BXL_ALIGNMENT_CENTER; // 중앙 정렬

pController.attribute = BXL_FT_BOLD; // 굵은 글씨

If(BXL_SUCCESS == [pController pprriinnttTTeexxtt::@@ ““CCeenntteerr aalliiggnnmmeenntt aanndd

BBoolldd FFoonntt..””]) NSLog(@”printText Success”);

// 오른쪽 정렬, 밑줄 글씨체로 출력

pController.alignment = BXL_ALIGNMENT_RIGHT; // 오른쪽 정렬

pController.attribute = BXL_FT_UNDERLINE; // 밑줄체

If(BXL_SUCCESS == [pController pprriinnttTTeexxtt::@@ ““RRiigghhtt aalliiggnnmmeenntt aanndd

UUnnddeerrlliinnee FFoonntt..””]) NSLog(@”printText Success”);

// 왼쪽 정렬, 굵고 밑줄 글씨체, Font Size가 가로 세로 2배씩 보이게 출력

pController.alignment = BXL_ALIGNMENT_LEFT; // 왼쪽 정렬

pController.attribute = BXL_FT_BOLD| BXL_FT_UNDERLINE; // 굵고, 밑줄체

pController.textSize = BXL_TS_1WIDTH|BXL_TS_1HEIGHT; // 가로 세로 각각 2배

If(BXL_SUCCESS == [pController pprriinnttTTeexxtt::@@ ““LLeefftt aalliiggnnmmeenntt aanndd BBOOLLDD,,

UUnnddeerrlliinnee FFoonntt aanndd BBiigg FFoonntt..””]) NSLog(@”printText Success”);

Page 56: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 56 -

5-3-10 printBox

상자 모양 Text 를 인쇄 합니다.

현재 연결된 프린터가 없는 경우 아무런 작업을 하지 않습니다.

[Syntax]

(long)printText:(int)width height: (int)height; [Parameters] int

상자의 너비를 지정합니다.

1 == 알파벳 1글자 만큼의 너비

int

상자의 길이를 지정합니다.

1 == 알파벳 1줄 만큼의 길이

[Return Value]

2-1-18 Result Code 참고

[Discussion]

텍스트의 정렬, 속성이 미리 지정되어 있어야 합니다.

[See Also]

2-1-4 Barcode/Image/Text Alignment 2-1-5 Text Size 2-1-6 Text Attribute 5-2-6 alignment 5-2-8 textSize 5-2-7 attribute

[Availability] SDK 3.0.3 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If(BXL_SUCCESS == [pController pprriinnttBBooxx::4433 hheeiigghhtt::33])

NSLog(@”printBox Suceess.”);

Page 57: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 57 -

5-3-11 lineFeed

라인피드를 수행합니다.

[Syntax] - (long)linefeed:(int)lines [Parameters] lines

라인 피드의 개수

[Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If(BXL_SUCCESS == [pController lliinneeFFeeeedd::33])

NSLog(@”linefeed Success.”);

Page 58: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 58 -

5-3-12 nextPrintPos

다음 라벨 용지의 시작 지점으로 용지를 피딩합니다.

[Syntax] - (long)nextPrintPos [Return Value]

2-1-18 Result Code 참고

[Discussion]

이 메소드는 라벨 모드일 때에만 동작을 합니다.

[Availability] SDK 0.6.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If(BXL_SUCCESS == [pController nneexxttPPrriinnttPPooss])

NSLog(@”nextPrintPos Success.”);

Page 59: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 59 -

5-3-13 printBarcode

1차원 및 2차원 바코드를 인쇄합니다.

[Syntax] - (long)printBarcode:(char *)data

symbology:(long)symbology width:(long)width height:(long)height alignment:(long)alignment

[Parameters] data

null 종결자를 가진 ANSI code data입니다. 인쇄할 바코드 데이터를 전달합니다.

symbology

바코드 타입을 정의합니다.

2-1-8 Barcode Symbology 참고

height

바코드의 높이. Dot 단위를 가지고 있으며, 1~255 값을 가지고 있습니다.

2차원 바코드는 영향을 받지 않습니다.

width

바코드의 넓이로 2~7의 넓이 단계를 가지고 있습니다.

바코드의 인쇄 크기가 프린터 용지를 넘어갈 때 인쇄가 되지 않거나

일부만 인쇄 될 수 있습니다.

2차원 바코드는 이 값의 영향을 받지 않습니다.

alignment

바코드의 정렬 설정

2-1-4 Barcode/Text/Image Alignment 참고

[Return Value]

2-1-18 Result Code 참고

[See Also] 2-1-4 Barcode/Text/Image Alignment 2-1-7 Barcode Text Position 2-1-8 Barcode Symbology 5-2-17 textPosition [Availability] SDK 0.6.0 and later

Page 60: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 60 -

[Example] long lResult = BXL_SUCCESS; BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

// 바코드 데이터를 바코드 아래쪽에 출력합니다.

pController.textPosition = BXL_BC_TEXT_BELOW;

// 1D 바코드 중 EAN13 바코드 출력

lResult = [pController pprriinnttBBaarrccooddee::““112233445566778899001122””

ssyymmbboollooggyy:: BBXXLL__BBCCSS__EEAANN1133

wwiiddtthh:: 33

hheeiigghhtt::110000];

If(BXL_SUCCESS == lResult) NSLog(@”printBarcode Success.”);

// 1D 바코드 중 Code128 바코드 출력

If(BXL_SUCCESS == [pController pprriinnttBBaarrccooddee::33])

NSLog(@”linefeed Success.”);

// 1D 바코드 중 QR 바코드 출력

If(BXL_SUCCESS == [pController pprriinnttBBaarrccooddee::33])

NSLog(@”linefeed Success.”);

Page 61: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 61 -

5-3-14 printBitmap

이미지 파일을 인쇄합니다.

[Syntax] - (long)printBitmap:(NSString *)path width:(long)width

level:(long)level [Parameters] path

이미지 파일의 경로

width

변환할 이미지 파일의 넓이 입니다. 0 ~ 최대 너비까지 설정할 수 있습니다.

0보다 작은 값을 설정 시 조건에 맞게 이미지 크기가 변환됩니다.

2-1-9 Image Width 참고

level

이미지 색상 레벨 및 디퓨전 처리 여부를 설정합니다.

값 설명

0 ~ 100 색상 레벨값

네번째 수가 1인 경우 디퓨전 처리 수행

다섯번째 수가 1인 경우 ESC * 커맨드 이용 이미지 출력

[See Also] 2-1-4 Barcode/Text/Image Alignment

7-1-1 Error Diffusion 이란?

[Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

NSString *path = [[NSBundle mainBundle] pathForResource:@”Sample” ofType:@”png”]];

If (BXL_SUCCESS == [pController pprriinnttBBiittmmaapp::ppaatthh

wwiiddtthh::BBXXLL__WWIIDDTTHH__FFUULLLL

lleevveell::11005500 ] ) NSLog(@”printBitmap Success.”);

Page 62: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 62 -

5-3-15 printBitmapWithImage

이미지 파일을 인쇄합니다.

[Syntax] - (long)printBitmapWithImage:(UIImage *) image width:(long)width

level:(long)level [Parameters] path

이미지 파일의 경로

width

변환할 이미지 파일의 넓이 입니다. 0 ~ 최대 너비까지 설정할 수 있습니다.

0보다 작은 값을 설정 시 조건에 맞게 이미지 크기가 변환됩니다.

2-1-9 Image Width 참고

level

이미지 색상 레벨 및 디퓨전 처리 여부를 설정합니다.

값 설명

0 ~ 100 색상 레벨값

네번째 수가 1인 경우 디퓨전 처리 수행

다섯번째 수가 1인 경우 ESC * 커맨드 이용 이미지 출력

[See Also] 2-1-4 Barcode/Text/Image Alignment

7-1-1 Error Diffusion 이란?

[Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

UIImage* image = [UIImage imageNamed:@“sample.png“];

If (BXL_SUCCESS == [pController pprriinnttBBiittmmaappWWiitthhIImmaaggee::iimmaaggee

wwiiddtthh::BBXXLL__WWIIDDTTHH__FFUULLLL

lleevveell::11005500 ] ) NSLog(@”printBitmap Success.”);

Page 63: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 63 -

5-3-16 cutPaper

프린터에 출력 된 용지를 자릅니다.

[Syntax] - (long) cutPaper; [Discussion]

프린터의 기구적인 차이로 인해 용지 컷팅 위치가 출력물 보다 위에 위치하여,

인쇄물이 잘린 것처럼 보일 수 있습니다.

이 경우 linefeed 를 이용하여 컷팅 위치를 조절 하십시오.

[See Also] 2-1-4 Barcode/Text/Image Alignment

7-1-1 Error Diffusion 이란?

[Return Value]

2-1-18 Result Code 참고

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If (BXL_SUCCESS == [pController printText:@“ printText\r\n”] ) NSLog(@”printText Success.”);

If (BXL_SUCCESS == [pController lineFeed:3] ) NSLog(@”lineFeed Success.”);

If (BXL_SUCCESS == [pController ccuuttPPaappeerr] )

NSLog(@”cutPaper Success.”);

Page 64: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 64 -

5-3-17 checkPrinter

프린터 상태를 체크하여 상태 속성에 값을 설정합니다.

[Syntax] - (long)checkPrinter : (int) mask [Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later [See Also] 2-1-4 Barcode/Text/Image Alignment 2-1-10 Status check Mask [Availability] SDK 0.6.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); If (BXL_SUCCESS==

[pController cchheecckkSSttaattuuss::BBXXLL__MMAASSKK__CCOOVVEERROOPPEENN ] ) { If(pController.state & BXL_STS_COVEROPEN) NSLog(@”printer Cover is open”); } If (BXL_SUCCESS==

[pController cchheecckkSSttaattuuss::BBXXLL__MMAASSKK__CCOOVVEERRSSTTAATTUUSS

|| BBXXLL__MMAASSKK__PPAAPPEERRSSTTAATTUUSS ] ) { If(pController.state & BXL_STS_COVEROPEN) NSLog(@”printer Cover is open”); If(pController.state & BXL_STS_PAPEREMPTY) NSLog(@”Paper is empty.”); }

커버 상태만 체크

커버/종이 상태 체크

Page 65: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 65 -

5-3-18 msrReadReady

프린터를 MSR Ready 상태로 전환합니다. Ready 상태에서는 인쇄가 불가능합니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)msrReadReady [Return Value]

2-1-18 Result Code 참고

[Discussion]

MSR Data 가 발생 하면 msrArrived 메소드가 호출 됩니다.

[See Also] 5-3-19 msrReadCancel 5-3-20 msrReadTrack 5-3-21 msrGetTrack 5-3-22 msrReadFullTrack 6-2-11 msrArrived [Availability] SDK 0.6.0 and later

Page 66: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 66 -

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If (BXL_SUCCESS == [[ppCCoonnttrroolllleerr mmssrrRReeaaddRReeaaddyy]] )

NSLog(@”msrReadReady Success.”);

// MSR Data가 발생하면 아래 함수가 호출 됩니다.

- (void)msrArrived:(BXPrinterController *)controller track:(NSNumber *)track

{ NSLog(@”MSR Data Arrived.”); NSData* data = nil; if( [track intValue] & BXL_MSG_TRACK1 ) { If(BXL_SUCCESS == [controller msrGetTrack:BXL_MSG_TRACK1

response: &data] ) { NSLog(@”Track 1 : %s”, data.bytes); }

} if( [track intValue] & BXL_MSG_TRACK2 ) { If(BXL_SUCCESS == [controller msrGetTrack:BXL_MSG_TRACK2

response: &data] ) { NSLog(@”Track 2 : %s”, data.bytes); }

} if( [track intValue] & BXL_MSG_TRACK3 ) { If(BXL_SUCCESS == [controller msrGetTrack:BXL_MSG_TRACK3

response: &data] ) { NSLog(@”Track 3 : %s”, data.bytes); }

} }

Page 67: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 67 -

5-3-19 msrReadCancel

프린터를 MSR Ready 상태에서 해제합니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)msrReadCancel [Return Value]

2-1-18 Result Code 참고

[See Also] 5-3-18 msrReadReady 5-3-20 msrReadTrack 5-3-21 msrGetTrack 5-3-22 msrReadFullTrack 6-2-11 msrArrived [Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If (BXL_SUCCESS == [[ppCCoonnttrroolllleerr mmssrrRReeaaddCCaanncceell]] )

NSLog(@”msrReadCancel Success.”);

Page 68: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 68 -

5-3-20 msrReadTrack

MSR 데이터를 읽어옵니다. MSR 읽기 모드이고 BXLMSR_DATAEMPTY 가 리턴 된

다면 아직 MSR에 카드가 읽히지 않은 것입니다. 카드를 다시 MSR에 스캔하거나 이

기능을 msrReadCancel 메소드를 사용하여 읽기 모드를 취소할 수 있습니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)msrReadTrack:(NSData **)data1

data2:(NSData **)data2 data3:(NSData **)data3

[Parameters] data1

MSR Data Track 1번을 읽어 저장합니다.

data2

MSR Data Track 2번을 읽어 저장합니다.

data3

MSR Data Track 3번을 읽어 저장합니다.

[Return Value]

2-1-18 Result Code 참고

[Discussion]

data1, data2, data3은 모두 할당되지 않은 NSData *data를 전해주고, 메소드 내부적

으로 NSData 객체를 할당해줍니다. 할당된 data1, data2, data3는 auto release 되는

객체이므로 사용자가 명시적으로 release 할 필요가 없습니다.

[See Also] 5-3-18 msrReadReady 5-3-19 msrReadCancel 5-3-21 msrGetTrack 5-3-22 msrReadFullTrack 6-2-11 msrArrived [Availability] SDK 0.6.0 and later

Page 69: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 69 -

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); If (BXL_SUCCESS == [pController msrReadReady] )

NSLog(@”msrReadReady Success.”);

// MSR Data가 발생하면 아래 함수가 호출 됩니다.

- (void)msrArrived:(BXPrinterController *)controller track:(NSNumber *)track

{ NSLog(@”MSR Data Arrived.”); NSData *data1 = nil; NSData *data2 = nil; NSData *data3 = nil;

if(BXL_SUCCESS ==== [[ppCCoonnttrroolllleerr mmssrrRReeaaddTTrraacckk::&&ddaattaa11

ddaattaa22::&&ddaattaa22

ddaattaa33::&&ddaattaa33]]) { NSLog(@”track 1 : %s”, data1.bytes); NSLog(@”track 2 : %s”, data2.bytes); NSLog(@”track 3 : %s”, data3.bytes); }

}

Page 70: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 70 -

5-3-21 msrGetTrack

MSR 데이터를 읽어옵니다. MSR 읽기 모드이고 BXLMSR_DATAEMPTY 가 리턴 된

다면 아직 MSR에 카드가 읽히지 않은 것입니다. 카드를 다시 MSR에 스캔 하거나

이 기능을 msrReadCancel 메소드를 사용하여 읽기 모드를 취소할 수 있습니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)msrGetTrack:(int)track response:(NSData **)response [Parameters] track

MSR Data Track 번호 1 ~ 3

response

MSR Data Track 의 값

[Return Value]

2-1-18 Result Code 참고

[Discussion]

response는 할당되지 않은 NSData *data를 전해주고, 메소드 내부적으로 NSData 객

체를 할당해줍니다. 할당된 response는 auto release 되는 객체이므로 사용자가 명시

적으로 release 할 필요가 없습니다.

[See Also] 5-3-18 msrReadReady 5-3-19 msrReadCancel 5-3-20 msrReadTrack 5-3-22 msrReadFullTrack 6-2-11 msrArrived [Availability] SDK 0.9.0 and later

Page 71: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 71 -

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); NSData* data = nil;

If(BXL_SUCCESS == [[ccoonnttrroolllleerr mmssrrGGeettTTrraacckk::BBXXLL__MMSSGG__TTRRAACCKK11

rreessppoonnssee:: &&ddaattaa]] )

{ NSLog(@”Track 1 : %s”, data.bytes);

}

If(BXL_SUCCESS == [[ccoonnttrroolllleerr mmssrrGGeettTTrraacckk::BBXXLL__MMSSGG__TTRRAACCKK22

rreessppoonnssee:: &&ddaattaa]] )

{ NSLog(@”Track 2 : %s”, data.bytes);

}

If(BXL_SUCCESS == [[ccoonnttrroolllleerr mmssrrGGeettTTrraacckk::BBXXLL__MMSSGG__TTRRAACCKK33

rreessppoonnssee:: &&ddaattaa]] )

{ NSLog(@”Track 3 : %s”, data.bytes);

}

Track 1

Track 2

Track 3

Page 72: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 72 -

5-3-22 msrReadFullTrack

MSR 전체 데이터를 읽어옵니다. MSR 읽기 모드이고 BXLMSR_DATAEMPTY 가 리

턴 된다면 아직 MSR에 카드가 읽히지 않은 것입니다. 카드를 다시 MSR에 스캔 하

거나 이 기능을 msrReadCancel 메소드를 사용하여 읽기 모드를 취소할 수 있습니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)msrReadFullTrack:(NSData **)response [Return Value]

2-1-18 Result Code 참고

[Parameters] response

MSR Data Track 의 값

[Discussion]

response는 할당되지 않은 NSData *data를 전해주고, 메소드 내부적으로 NSData 객

체를 할당해줍니다. 할당된 response는 auto release 되는 객체이므로 사용자가 명시

적으로 release 할 필요가 없습니다.

[See Also] 5-3-18 msrReadReady 5-3-19 msrReadCancel 5-3-20 msrReadTrack 5-3-21 msrGetTrack 6-2-11 msrArrived

[Availability] SDK 0.9.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); If (BXL_SUCCESS == [pController msrReadReady] )

NSLog(@”msrReadReady Success.”);

// MSR Data가 발생하면 아래 함수가 호출 됩니다.

- (void)msrArrived:(BXPrinterController *)controller track:(NSNumber *)track

{ NSLog(@”MSR Data Arrived.”); NSData *data = nil;

if(BXL_SUCCESS ==== [[ppCCoonnttrroolllleerr mmssrrRReeaaddFFuullllTTrraacckk::&&ddaattaa]]) { NSLog(@”full : %s”, data.bytes); }

}

Page 73: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 73 -

5-3-23 directIO

사용자 정의 데이터를 보내고, 읽을 수 있습니다.

[Syntax] - (long)directIO:(NSData *)request

requiredSize:(NSInteger) requiredSize response:(NSData **)response

[Return Value]

2-1-18 Result Code 참고

[Parameters] request

프린터로 전송할 데이터이며, ANSI CODE 데이터 입니다.

requiredSize

프린터로부터 응답 받기를 원하는 데이터의 크기 입니다.

response

프린터에서 읽은 응답이 저장됩니다.

[Availability] SDK 0.6.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); If (BXL_SUCCESS == [pController msrReadReady] )

NSLog(@”msrReadReady Success.”); BYTE test1[] = {0x30, 0x31, 0x32, 0x0d, 0x0a}; if(BXL_SUCCESS ====

[[ppCCoonnttrroolllleerr ddiirreeccttIIOO::[[NNSSDDaattaa ddaattaaWWiitthhBByytteess::tteesstt

lleennggtthh::ssiizzeeooff((tteesstt11))]]

rreeqquuiirreeddSSiizzee::00

rreessppoonnssee::nniill]]) { NSLog(@””directIO Succes. ”); } BYTE test2[] = {0x10, 0x04, 0x02}; NSData* dataResponse = nil; if(BXL_SUCCESS ====

[[ppCCoonnttrroolllleerr ddiirreeccttIIOO::[[NNSSDDaattaa ddaattaaWWiitthhBByytteess::tteesstt

lleennggtthh::ssiizzeeooff((tteesstt22))]]

rreeqquuiirreeddSSiizzee::11

rreessppoonnssee::&&ddaattaaRReessppoonnssee]]) { NSLog(@””directIO Success. Response : %d”, dataRespons.bytes); }

전송만 하는 경우

응답이 있는

데이터 전송

Page 74: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 74 -

5-3-24 icON

프린터 스마트 카드 리더에 전원을 인가합니다.

[Syntax] - (long)icON:(NSData **)response [Parameters] response

ATR(Answer to Reset) 값이 저장됩니다.

[Return Value]

2-1-18 Result Code 참고

[Discussion]

response는 메소드내에서 auto release 형태로 저장되므로, 사용자가 명시적으로

release할 필요가 없습니다.

[Availability] SDK 0.6.0 and later

Page 75: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 75 -

5-3-25 icOFF

프린터 스마트 카드 리더에 전원을 차단합니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)icOFF

[Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later

Page 76: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 76 -

5-3-26 icApdu

APDU 명령어를 전송하고 응답 값을 가져옵니다. 프린터 스마트 카드에 전원이 인가

된 상태에서만 정상적으로 동작합니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)icApdu:(NSData **)request

response:(NSData **)response [Parameters] request

프린터로 전송할 APDU command 데이터입니다. ANSI CODE 데이터입니다.

response

프린터에서 전송된 APDU 응답 값을 기록합니다.

[Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later

Page 77: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 77 -

5-3-27 icGetStatus

프린터 스마트 카드 리더에 삽입된 카드 상태를 가져옵니다.

지원 기기 : POS Printer 는 지원되지 않습니다.

[Syntax] - (long)icGetStatus:(NSData **)response [Parameters] response

카드 상태 값을 저장합니다.

[Return Value]

2-1-18 Result Code 참고

[Availability] SDK 0.6.0 and later

Page 78: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 78 -

5-3-28 nvImageList

NV영역에 저장된 이미지 어드레스 리스트를 얻습니다.

[Syntax] - (long)nvImageList:(NSArray **)images [Parameters] images

어드레스 리스트를 제공합니다.

각 어드레스는 NSNumber * 의 형태로 저장되며

images는 autorelease 형태로 제공되므로, 명시적으로 release 할 필요가

없습니다.

[Return Value]

2-1-18 Result Code 참고

[Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

NSArray *images;

If(BXL_SUCCESS != [[ppCCoonnttrroolllleerr nnvvIImmaaggeeLLiisstt::&&iimmaaggeess]] )

NSLog(@”get List is Fail.”); for( NSNumber *n in images) {

NSLog(@”%d”, [NSNumber intValue]); }

[Availability] SDK 1.0.0 and later

Page 79: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 79 -

5-3-29 downloadNVImage (Diffusion)

NV영역의 지정된 어드레스에 해당 이미지 데이터를 다운로드 합니다.

[Syntax] - (long)downloadNVImage:(int)address

withImage:(UIImage *)image width:(long)width level:(long)level

[Parameters] address

0 ~ 99 까지 사용 가능한 이미지 어드레스. 해당 어드레스에 이미지가 이미 저

장된 경우 기존 이미지를 새로운 이미지로 대체합니다.

images

다운로드 대상 이미지 객체

width

이미지 인쇄 대상 넓이

BXL_WIDTH_FULL로 지정된 경우 프린터의 출력 가능한 최대 넓이로 이미지가

출력됩니다.

이미지의 넓이가 width 보다 작은 경우 이미지는 확대되며, 이미지의 넓이가

width 보다 큰 경우에는 이미지는 축소된다.

level

이미지 색상 레벨 및 디퓨전 처리 여부를 설정합니다.

값 설명

0 ~ 100 색상 레벨값

네번째 수가 1인 경우 디퓨전 처리 수행

다섯번째 수가 1인 경우 ESC * 커맨드 이용 이미지 출력

[Return Value]

2-1-18 Result Code 참고

[Discussion]

해당 이미지의 크기가 프린터의 가로 폭보다 큰 경우 이미지는 자동으로 크기가 조

절 됩니다.

[See Also]

7-1-1 Error Diffusion 이란?

[Availability] SDK 1.0.0 and later

Page 80: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 80 -

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

UIImage* image = [UIImage imageNamed:@“sample.png“];

If (BXL_SUCCESS == [pController ddoowwnnllooaaddNNVVIImmaaggee:: 00

wwiitthhIImmaaggee::iimmaaggee

wwiiddtthh::BBXXLL__WWIIDDTTHH__FFUULLLL

lleevveell::11005500 ] ) NSLog(@”downloadNVImage Success.”);

Page 81: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 81 -

5-3-30 downloadNVImage (Normal)

NV영역의 지정된 어드레스에 해당 이미지 데이터를 다운로드 합니다.

[Syntax] - (long)downloadNVImage:(int)address

withImage:(UIImage *)image

[Parameters] address

0 ~ 99 까지 사용 가능한 이미지 어드레스. 해당 어드레스에 이미지가

이미 저장된 경우 기존 이미지를 새로운 이미지로 대체합니다.

images

다운로드 대상 이미지 객체

[Return Value]

2-1-18 Result Code 참고

[Discussion]

해당 이미지의 크기가 프린터의 가로 폭보다 큰 경우 이미지는 자동으로 크기가 조

절 됩니다.

[See Also]

7-1-1 Error Diffusion 이란?

[Availability] SDK 1.0.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

UIImage* image = [UIImage imageNamed:@“sample.png“];

If (BXL_SUCCESS == [pController ddoowwnnllooaaddNNVVIImmaaggee:: 00

wwiitthhIImmaaggee::iimmaaggee] )

NSLog(@”downloadNVImage Success.”);

Page 82: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 82 -

5-3-31 printNVImage

NV영역의 지정된 어드레스에 저장된 이미지를 출력합니다.

[Syntax] - (long)printNVImage:(int)address [Parameters] address

0 ~ 99 까지 사용 가능한 이미지 어드레스

[Return Value]

2-1-18 Result Code 참고

[Discussion]

해당 어드레스에 이미지가 존재하지 않는 경우, 이미지는 출력되지 않습니다.

[Availability] SDK 1.0.0 and later

[Example] BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

UIImage* image = [UIImage imageNamed:@“sample.png“];

If (BXL_SUCCESS == [pController pprriinnttNNVVIImmaaggee::00] )

NSLog(@”printNVImage Success.”);

Page 83: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 83 -

5-3-32 removeNVImage

NV영역의 지정된 어드레스에 저장된 이미지를 삭제합니다.

[Syntax] - (long)removeNVImage:(int)address

[Parameters] address

0 ~ 99 까지 사용 가능한 이미지 어드레스

[Return Value]

2-1-18 Result Code 참고

[Discussion]

해당 어드레스에 이미지가 존재하지 않는 경우, 아무 것도 수행하지 않습니다.

[Availability] SDK 1.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

UIImage* image = [UIImage imageNamed:@“sample.png“];

If (BXL_SUCCESS == [pController rreemmoovveeNNVVIImmaaggee::00] )

NSLog(@”removeNVImage Success.”);

Page 84: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 84 -

5-3-33 removeAllNVImages

NV영역에 저장된 모든 이미지를 삭제합니다.

[Syntax] - (long)removeAllNVImages [Return Value]

2-1-18 Result Code 참고

[Availability] SDK 1.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

UIImage* image = [UIImage imageNamed:@“sample.png“];

If (BXL_SUCCESS == [pController rreemmoovveeAAllllNNVVIImmaaggeess] )

NSLog(@”removeAllNVImages Success.”);

Page 85: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 85 -

5-3-34 openDrawer

Cash Drawer 를 open 합니다.

[Syntax] - (long)openDrawer [Return Value]

2-1-18 Result Code 참고

[Availability] SDK 3.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

If(BBXXLL__SSUUCCCCEESSSS==== [[ppCCoonnttrroolllleerr ooppeennDDrraawweerr]])

NSLog(@” OpenDrawer Success.”); else

NSLog(@” OpenDrawer Fail.”);

Page 86: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 86 -

5-3-35 setAsyncMode

Async Mode의 사용 여부를 선택합니다.

[Syntax] - (long)setAsyncMode:(BOOL) set [Return Value]

2-1-18 Result Code 참고

6-2-13 outputComplete 참고

7-1-3 Transaction / Async mode 조합 설정 비교 참고

[Availability] SDK 3.1.10 and later

[Example]

-(void) printProcess {

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[[ppCCoonnttrroolllleerr sseettAAssyynnccMMooddee::YYEESS]];;

[pController printText:@”test Print\r\n”];

}

// 인쇄가 성공하면 아래 delegate 가 호출 됩니다..

- (void)outputComplete:(BXPrinterController *)controller outputID:(NSNumber*)outputID

errorStatus:(NSNumber*)errorStatuss {

NSLog(@”outputComplete. ID is %d”, outputID.integerValue);

// outputID 는 프린팅이 성공할 때 마다 1씩 증가됩니다.

}

Page 87: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 87 -

5-3-36 beginTransaction

transaction Mode 를 시작합니다.

[Syntax] - (long)beginTransaction [Return Value]

2-1-18 Result Code 참고

5-3-37 endTransaction 참고

7-1-3 Transaction / Async mode 조합 설정 비교

[Discussion]

Transaction mode 가 시작되면 요청하는 인쇄에 대해서 모두 버퍼에 저장만 해두었

다가, endTransaction 이 호출 될 때 인쇄를 시작 합니다.

[Availability] SDK 3.1.10 and later

[Example]

-(void) printProcess {

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[[ppCCoonnttrroolllleerr bbeeggiinnTTrraannssaaccttiioonn]];;

[pController printText:@”test Print 1\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController printText:@”test Print 2\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController printText:@”test Print 3\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController endTransaction]; /// 버퍼에 쌓인 data 를 인쇄함.

}

Page 88: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 88 -

5-3-37 endTransaction

인쇄 buffer 에 쌓여있는 Data 를 모두 인쇄하고 transaction Mode 를 종료합니다.

[Syntax] - (long)endTransaction [Return Value]

2-1-18 Result Code 참고

5-3-36 beginTransaction 참고

7-1-3 Transaction / Async mode 조합 설정 비교

[Discussion]

Transaction mode 가 시작되면 요청하는 인쇄에 대해서 모두 버퍼에 저장만 해두었

다가, endTransaction 이 호출 될 때 인쇄를 시작 합니다.

[Availability] SDK 3.1.10 and later

[Example]

-(void) printProcess {

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[[ppCCoonnttrroolllleerr bbeeggiinnTTrraannssaaccttiioonn]];;

[pController printText:@”test Print 1\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController printText:@”test Print 2\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController printText:@”test Print 3\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController endTransaction]; /// 버퍼에 쌓인 data 를 인쇄함.

}

Page 89: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 89 -

5-3-38 setPageArea

페이지 모드를 사용하고 인쇄 영역의 크기를 정의 합니다.

[Syntax] - (long)setPageArea:(NSInteger)startingX startingY:(NSInteger)startingY width:(NSInteger)width height:(NSInteger)height; [Parameters] startingX

인쇄 영역의 시작지점 중 X좌표를 의미. 일반적으로 0.

startingY

인쇄 영역의 시작지점 중 Y좌표를 의미. 일반적으로 0.

width

인쇄 영역의 가로 크기를 정의.

height

인쇄 영역의 세로 크기.

※ Parameter 단위 : dot. (1mm == 7dots)

[Return Value] Refer to 2-1-18 Result Code [Availability] SDK 1.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[_pController setPageArea:0 startingY:0 width:500 height:700]; // Configuring the page scope [_pController directIO:[NSData dataWithBytes:"\x1b\x54\x03" length:3] requiredSize:0 response:nil]; // Change the printing direction to the vertical [_pController setVerticalPosition:0]; // Configuring Vertical coordinate [_pController setLeftPosition:10]; // Configuring left coordinate [_pController printText:@"V-L10 V0\r\n"]; // Printing the text on the coordinate configured in the above. // Another API can be sued such as PrintText, printBitmap and so on here // The method of use is same as before (you can check the manual) _pController printDataInPageMode]; // printing the content configured in the above.

Page 90: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 90 -

5-3-39 setVerticalPosition

페이지 모드에서 인쇄 할 컨텐츠의 위치를 좌표로 표시하는데,

그 중 세로 좌표를 설정합니다.

[Syntax] - (long)setVerticalPosition:(NSInteger)positionY;

[Parameters] positionY To set Vertical Position, you can set the position by ‘positionY’ As increasing a value of VerticalPositio, the printing location moves down.

※ 단위 : dot. (1mm == 7dots)

[Return Value] Refer to 2-1-18 Result Code [Availability] SDK 1.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); [_pController setPageArea:0 startingY:0 width:500 height:700]; // Configuring the page scope [_pController directIO:[NSData dataWithBytes:"\x1b\x54\x03" length:3] requiredSize:0 response:nil]; // Change the printing direction to the vertical

[_pController setVerticalPosition:0]; // Configuring Vertical coordinate

[_pController setLeftPosition:10]; // Configuring left coordinate [_pController printText:@"V-L10 V0\r\n"]; // Printing the text on the coordinate configured in the above. // Another API can be sued such as PrintText, printBitmap and so on here // The method of use is same as before (you can check the manual) _pController printDataInPageMode]; // printing the content configured in the above.

Page 91: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 91 -

5-3-40 setLeftPosition

페이지 모드에서 인쇄 할 컨텐츠의 위치를 좌표로 표시하는데,

그 중 가로 좌표를 설정합니다.

[Syntax] - (long)setLeftPosition:(NSInteger)positionX;

[Parameters] positionX To set Left Position, you can set the position by ‘positionX’ As increasing a value of Left Position, the printing moves to the right.

※ 단위 : dot. (1mm == 7dots)

[Return Value] Refer to 2-1-18 Result Code [Availability] SDK 1.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”); [_pController setPageArea:0 startingY:0 width:500 height:700]; // Configuring the page scope [_pController directIO:[NSData dataWithBytes:"\x1b\x54\x03" length:3] requiredSize:0 response:nil]; // Change the printing direction to the vertical [_pController setVerticalPosition:0]; // Configuring Vertical coordinate

[pController setLeftPosition:10]; // Configuring left coordinate

[_pController printText:@"V-L10 V0\r\n"]; // Printing the text on the coordinate configured in the above. // Another API can be sued such as PrintText, printBitmap and so on here // The method of use is same as before (you can check the manual) _pController printDataInPageMode]; // printing the content configured in the above.

Page 92: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 92 -

5-3-41 printDataInPageMode

페이지 모드의 페이지 영역에 정의 한 Data 를 인쇄 합니다.

[Syntax] - (long)printDataInPageMode; [Return Value] 0 Refer to 2-1-18 Result Code [Availability] SDK 1.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[_pController setPageArea:0 startingY:0 width:500 height:700]; // 인쇄 영역을 설정합니다.

[_pController directIO:[NSData dataWithBytes:"\x1b\x54\x03" length:3] requiredSize:0 response:nil]; // Change the printing direction to the vertical

[_pController setVerticalPosition:0]; // 세로 좌표를 설정 합니다.

[_pController setLeftPosition:10]; // 가로 좌표를 설정 합니다.

[_pController printText:@"V-L10 V0\r\n"]; // 위에서 설정한 좌표의 위치에 텍스트를 인쇄 합니다.

//다른 인쇄 API(printText, printBarcode, printImage 등) 를 사용하려 하는 경우 이 위치에 코딩 할

수 있습니다.

// 해당 메소드의 사용방법은 기존 매뉴얼내의 방법과 동일 합니다.

[_pController printDataInPageMode]; // 위에서 설정하고, 저장한 컨텐츠를 인

쇄합니다.

Page 93: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 93 -

5-3-42 isSupport_MSR

MSR 관련 기능의 지원 여부를 확인합니다.

[Syntax] - (BOOL)isSupport_MSR [Return Value]

MSR 관련 기능이 지원되는 경우, TRUE 를 반환합니다.

[Availability] SDK 3.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

BBOOOOLL iissSSuuppppoorrttMMSSRR== [[ppCCoonnttrroolllleerr iissSSuuppppoorrtt__MMSSRR]];;

If(isSupportMSR)

NSLog(@” MSR Functions is Supported.”); else

NSLog(@” MSR Functions is not Supported.”);

Page 94: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 94 -

5-3-43 isSupport_IC

IC 관련 기능의 지원 여부를 확인합니다.

[Syntax] - (BOOL)isSupport_IC

[Return Value]

IC 관련 기능이 지원되는 경우, TRUE 를 반환합니다.

[Availability] SDK 3.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

BBOOOOLL iissSSuuppppoorrttIICC== [[ppCCoonnttrroolllleerr iissSSuuppppoorrtt__IICC]];;

If(isSupportIC)

NSLog(@” IC Functions is Supported.”); else

NSLog(@” IC Functions is not Supported.”);

Page 95: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 95 -

5-3-44 isSupport_Config

Config 관련 기능의 지원 여부를 확인합니다..

[Syntax] - (BOOL)isSupport_Config

[Return Value]

Config 관련 기능이 지원되는 경우, TRUE 를 반환합니다.

[Availability] SDK 3.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

BBOOOOLL iissSSuuppppoorrttCCoonnffiigg== [[ppCCoonnttrroolllleerr iissSSuuppppoorrtt__CCoonnffiigg]];;

If(isSupportConfig)

NSLog(@” Config Functions is Supported.”); else

NSLog(@” Config Functions is not Supported.”);

Page 96: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 96 -

5-3-45 isSupport_CashDrawer

CashDrawer 관련 기능의 지원 여부를 확인합니다.

[Syntax] - (BOOL)isSupport_CashDrawer [Return Value]

CashDrawer 관련 기능이 지원되는 경우, TRUE 를 반환합니다.

[Availability] SDK 3.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

BBOOOOLL iissSSuuppppoorrttCCaasshhDDrraawweerr== [[ppCCoonnttrroolllleerr

iissSSuuppppoorrtt__CCaasshhDDrraawweerr]];;

If(isSupportCashDrawer)

NSLog(@”CashDrawerFunctions is Supported.”); else

NSLog(@” CashDrawerFunctions is not Supported.”);

Page 97: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 97 -

5-3-46 isSupport_LSB

LSB 관련 기능의 지원 여부를 확인합니다.

[Syntax] - (BOOL)isSupport_MSR [Return Value]

LSB 관련 기능이 지원되는 경우, TRUE 를 반환합니다.

[Availability] SDK 3.0.0 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

BBOOOOLL iissSSuuppppoorrttLLSSBB == [[ppCCoonnttrroolllleerr iissSSuuppppoorrtt__LLSSBB]];;

If(isSupportLSB)

NSLog(@”LastStatusBack is Supported.”); else

NSLog(@”LastStatusBack is not Supported.”);

Page 98: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 98 -

5-3-47 getBarcodeSupportTable

Barcode 지원 여부 를 확인합니다.

[Syntax] - (NSMutableArray*)getBarcodeSupportTable [Return Value]

BXBarcode 를 가지고 있는 NSMutableArray 를 반환 합니다.

[Availability] SDK 3.0.3 and later [Example]

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

NNSSMMuuttaabblleeAArrrraayy **ttbbll == [[pprriinntteerrCCoonnttrroolllleerr ggeettBBaarrccooddee

SSuuppppoorrttTTaabbllee]];;

If( nil == tbl) NSLog(@”getBarcodeSupportTable Fail.”); for(BXBarcode *p in tbl) {

NSLog(“barcode number: %d , p.barNumber”); NSLog(“barcode name : %@”, priner.name); NSLog(“is Support : %d”, p.support);

}

Page 99: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 99 -

6. BXPrinterControllerDelegate Protocol Reference

Inherits from NSObject

Confirms to

Framework BXPrinter.a

[Availability] iOS 4.3 and later

Declared BXPrinteControlDelegater.h

6-1 Overview BXPrinterController Class내에서 일어나는 이벤트를 받기 위한 프로토콜입니다.

6-2 Instance Methods

6-2-1 didStart

BXPrinterControll의 open 메소드를 이용하여 클래스 사용이 시작될 때 호출됩니다.

프린터에 접속이 완료된 후 호출됩니다.

[Syntax] - (void) didStart [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

[Discussion]

프린터 클래스 사용 시작을 사용자에게 별도의 표시를 하는 경우 사용할 수 있습

니다.

[Availability] SDK 0.6.0 and later

Page 100: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 100 -

6-2-2 didStop

BXPrinterControll의 close 메소드를 이용하여 클래스 사용이 시작될 때 호출됩니다.

[Syntax] - (void) didStop [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

[Discussion]

프린터 클래스 사용 종료를 사용자에게 별도의 표시를 하는 경우 사용할 수 있습

니다.

[Availability] SDK 0.6.0 and later

Page 101: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 101 -

6-2-3 didFindPrinter

동일 네트워크 대역에서 프린터가 검색되면 개별 프린터마다 이 메소드가 호출됩

니다.

[Syntax] - (void)didFindPrinter:(BXPrinterController *)controller

printer:(BXPrinter *)printer

[Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

printer

검색된 프린터 정보

[Availability] SDK 0.6.0 and late [Example]

// “connect” 성공 시 아래 함수가 호출 됩니다.

-- ((vvooiidd))ddiiddFFiinnddPPrriinntteerr::((BBXXPPrriinntteerrCCoonnttrroolllleerr **))ccoonnttrroolllleerr

pprriinntteerr::((BBXXPPrriinntteerr**)) pprriinntteerr {

NSLog(“did Find Printer, ”); NSLog(“printer Name : %@”, priner.name); NSLog(“printer Address : %@”, priner.address); NSLog(“printer MacAddress : %@”, priner.macAddress);

}

Page 102: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 102 -

6-2-4 didConnect

프린터에 접속이 완료된 후 호출됩니다.

[Syntax] - (void)didConnect:(BXPrinterController *)controller

printer:(BXPrinter*) printer [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

printer

이벤트의 주체가 된 BXPrinter 객체

[Discussion]

프린터 접속전 사용자에게 표시된 진행 상태를 제거하기 위해 사용할 수 있습니다.

접속 대상 프린터 정보가 필요한 경우 BXPrinterController 의 target property 를 참조.

[Availability] SDK 2.0.2 and later [See Also] 5-3-6 connect [Availability] SDK 2.0.2 and later

[Return Value]

성공 시 YES

Connect 요청에 대한 결과 입니다.

접속에 대한 결과를 확인하시려면 delegate 함수 설명을 참조하시기 바랍니다.

[Example]

// “connect” 성공 시 아래 함수가 호출 됩니다.

-- ((vvooiidd))ddiiddCCoonnnneecctt::((BBXXPPrriinntteerrCCoonnttrroolllleerr **))ccoonnttrroolllleerr

pprriinntteerr::((BBXXPPrriinntteerr**)) pprriinntteerr { NSLog(“Connect Complete”); }

Page 103: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 103 -

6-2-5 didNotConnect

프린터에 접속을 할 수 없을 때 호출됩니다.

[Syntax] - (void)didNotConnect:(BXPrinterController *)controller

withError:(NSError *)error

[Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

error

실패된 원인 정보

[Discussion]

프린터 접속 과정에서 에러가 발생된 경우 사용할 수 있습니다.

[Availability] SDK 0.6.0 and later

[Example]

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)didNotConnect::(BXPrinterController *)controller withError:(NSError*) error { NSLog(“cannot connect to the printer.”); }

Page 104: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 104 -

6-2-6 willLookupPrinters

프린터 검색을 시작하기 전에 호출됩니다.

[Syntax] - (void)willLookupPrinters:(BXPrinterController *)controller [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

[Discussion]

프린터 검색 과정 동안 사용자에게 별도의 표시를 하는 경우 사용할 수 있습니다.

[Availability] SDK 0.6.0 and later

[Example]

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)willLookupPrinters::(BXPrinterController *)controller { NSLog(“the lookup did start. ”); }

Page 105: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 105 -

6-2-7 didLookupPrinters

프린터 검색이 완료된 후 호출됩니다.

[Syntax] - (void)didLookupPrinters:(BXPrinterController *)controller [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

[Discussion]

프린터 검색 과정 동안 사용자에게 별도의 표시를 하는 경우 사용할 수 있습니다.

[Availability] SDK 0.6.0 and later

[Example]

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)didNotLookup::(BXPrinterController *)controller withError:(NSError*) error { NSLog(“printer lookup fail.”); }

Page 106: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 106 -

6-2-8 didNotLookup

프린터 검색을 할 수 없을 때 호출됩니다.

[Syntax] - (void)didNotLookup:(BXPrinterController *)controller

withError:(NSError *)error [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

error

실패된 원인 정보

[Availability] SDK 0.6.0 and later

[Example]

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)didNotLookup::(BXPrinterController *)controller withError:(NSError*) error { NSLog(“printer lookup fail.”); }

Page 107: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 107 -

6-2-9 didBeBrokenConnection

프린터와의 연결이 끊어진 경우 호출됩니다.

[Syntax] - (void)didBeBrokenConnection:(BXPrinterController *)controller

withError:(NSError *)error [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

error

실패된 원인 정보

[Discussion]

사용자가 명시적으로 BXPrinterController의 close 메소드를 호출해서 접속을 끊은

경우에는 호출되지 않습니다. 이 메소드는 사용자가 아닌 외부의 다른 장애로 인해

연결이 끊어진 경우에만 호출됩니다.

대상 프린터 정보가 필요한 경우 BXPrinterController의 target property를

참고하십시오.

[Availability] SDK 0.6.0 and later

[Example]

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)didBeBrokenConnection::(BXPrinterController *)controller withError:(NSError*) error { NSLog(“connection is broken.”); }

Page 108: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 108 -

6-2-10 didDisconnect

프린터와의 연결해제가 완료 된 경우 호출됩니다.

[Syntax] - (void)didDisconnection:(BXPrinterController *)controller

printer:(BXPrinter*) printer [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

printer

이벤트의 주체가 된 BXPrinter 객체

[See Also] 5-3-7 disconnect [Availability] SDK 0.6.0 and later

[Example]

// “Disconnect” 완료 시 아래 함수가 호출 됩니다.

- (void)didDisconnect:(BXPrinterController *)controller printer:(BXPrinter*) printer { NSLog(“Disconnect Complete”); }

Page 109: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 109 -

6-2-11 msrArrived

MSR Read 모드에서 MSR 데이터가 정상적으로 도착한 경우 호출됩니다.

[Syntax] - (void)msrArrived:(BXPrinterController *)controller

track:(NSNumber *)track [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

track

MSR 데이터가 발생된 트랙의 번호 1~3

[Discussion]

이 메소드가 호출된 후 BXPrinterController의 getTrack: 메소드를 통해 해당 트랙의

MSR 데이터를 얻을 수 있습니다.

[See Also] 5-3-18 msrReadReady 5-3-19 msrReadCancel 5-3-20 msrReadTrack 5-3-21 msrGetTrack 5-3-22 msrReadFullTrack 6-2-11 msrArrived [Availability] SDK 0.6.0 and later [Example]

- (void)msrArrived:(BXPrinterController *)controller track:(NSNumber *)track

{ NSLog(@”MSR Data Arrived.”); NSData *data1 = nil; NSData *data2 = nil; NSData *data3 = nil;

if(BXL_SUCCESS ==== [[ppCCoonnttrroolllleerr mmssrrRReeaaddTTrraacckk::&&ddaattaa11

ddaattaa22::&&ddaattaa22

ddaattaa33::&&ddaattaa33]]) { NSLog(@”track 1 : %s”, data1.bytes); NSLog(@”track 2 : %s”, data2.bytes); NSLog(@”track 3 : %s”, data3.bytes); }

}

Page 110: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 110 -

6-2-12 didUpdateStatus

프린터의 상태 변수가 변경된 경우 호출 됩니다.

[Syntax] - (void)didUpdateStatus:(BXPrinterController *)controller

Status(NSNumber*) status [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

status

printer 의 현재 상태

[See Also] 2-1-12 State 5-3-8 enableLSB [Availability] SDK 3.0.0 and later

[Example]

// Printer 접속이 완료 된 후

BXPrinterController * pController = [BXPrinterController getInstance]; [pController enableLSB:YES];

// 이후부터는 상태가 변경 될 때마다, 아래 delegate 함수가 호출 됩니다.

-- ((vvooiidd))ddiiddUUppddaatteeSSttaattuuss::((BBXXPPrriinntteerrCCoonnttrroolllleerr **))ccoonnttrroolllleerr

ssttaattuuss::((NNSSNNuummbbeerr**))ssttaattuuss {

NSLog(“did Update Status”);

If(status & BXL_STS_NORMAL) NSLog(@”Printer Status is Normal.”);

If(status & BXL_STS_PAPEREMPTY) NSLog(@”Paper is empty.”);

If(status & BXL_STS_COVEROPEN)

NSLog(@”Printer Status is Normal.”); }

Page 111: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 111 -

6-2-13 outputComplete

인쇄 성공 시 발생하는 delegate 입니다.

[Syntax] - (void)outputComplete:(BXPrinterController *)controller

outputID:(NSNumber*) outputID errorStatus:(NSNumber*) errorStatus; [Parameters] controller

이벤트의 주체가 된 BXPrinterController 객체

outputID

인쇄성공 후 본 delegate 가 호출 될 때마다 증가되는 일련번호.

errorStatus

프린터의 상태 값이 전달 됩니다.

[See Also] 2-1-12 State 5-3-35 asyncMode

7-1-3 Transaction / Async mode 조합 설정 비교

[Availability] SDK 3.0.0 and later [Example]

-(void) printProcess {

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[[ppCCoonnttrroolllleerr sseettAAssyynnccMMooddee::YYEESS]];;

[pController printText:@”test Print\r\n”];

}

// 인쇄가 성공하면 아래 delegate 가 호출 됩니다..

- (void)outputComplete:(BXPrinterController *)controller outputID:(NSNumber*)outputID

errorStatus:(NSNumber*)errorStatuss {

NSLog(@”outputComplete. ID is %d”, outputID.integerValue);

// outputID 는 프린팅이 성공할 때 마다 1씩 증가됩니다.

}

Page 112: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 112 -

7. Appendix

7-1-1 Error Diffusion

컬러 영상이나 흑백 영상을 좀 더 적은 양의 bits/pixel로 표현하기 위한 기술

특정 이미지의 경우 몇 가지 명백히 드러나는 마치 뱀과 같은 패턴이 생성될 수도

있지만 날카로운 묘사를 보존하는 능력이 뛰어납니다.

단점은 처리 시간이 길다는 것이며 이는 오류를 측정하고 이웃하는 화소들에게 분산

시키는데 필요한 계산량 때문입니다.

본 SDK에선 에러 디퓨전 알고리즘의 사용을 권장합니다.

[원본 이미지]

Diffusion

적용 여부 결과물

X

[Level : 50]

O

[Level : 1020]

[Level : 1035]

O

[Level : 1050]

[Level : 1070]

Page 113: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 113 -

7-1-2 Printer Model 분류

Model Name Supported Interface Printer Type

SRP-275 E POS Printer

SRP-275II E POS Printer

SRP-275III E POS Printer

SRP-350plus E POS Printer

SRP-352plus E POS Printer

SRP-350plusII E POS Printer

SRP-352plusII E POS Printer

SRP-350II E POS Printer

SRP-350IIOBE E / B POS Printer

SRP-F310 E / W POS Printer

SRP-F312 E / W POS Printer

SRP-F310II E / W / B POS Printer

SRP-F312II E / W / B POS Printer

SRP-F313II E / W / B POS Printer

SRP-350III E / W POS Printer

SRP-352III E / W POS Printer

SRP-350plusIII E / W / B POS Printer

SRP-352plusIII E / W / B POS Printer

SRP-340 E POS Printer

SPP-R200II W / B Mobile Printer

SPP-R210 W / B Mobile Printer

SPP-R220 W / B / BLE Mobile Printer

SPP-R300 W / B Mobile Printer

SPP-R400 W / B Mobile Printer

SPP-R410 W / B / BLE Mobile Printer

SPP-R200III W / B Mobile Printer

SPP-R310 W / B Mobile Printer

SRP-380 E / W / B POS Printer

SRP-382 E / W / B POS Printer

SRP-330II E POS Printer

SRP-332II E POS Printer

SRP-340II E POS Printer

SRP-342II E POS Printer

SRP-S300 E / W / B POS Printer

SRP-Q300 E / W / B POS Printer

SRP-Q302 E / W / B POS Printer

E : Ethernet W : WiFi(Wireless LAN) B : Bluetooth(MFi) BLE : Bluetooth Low Energy

Page 114: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 114 -

7-1-3 Transaction / Async mode 조합 설정 비교 Async mode 가 yes 일 때 Transaction Mode 설정에 따른 outputcomplete Delegate

의 호출 횟수는 아래와 같습니다.

[Transaction Mode 를 사용하지 않을 경우] -(void) printProcess {

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[[ppCCoonnttrroolllleerr sseettAAssyynnccMMooddee::YYEESS]];;

[pController printText:@”test Print 1 \r\n”];

// 바로 인쇄 요청, 인쇄 완료 시 outputCompleteEvent 가 호출 됨

[pController printText:@”test Print 2 \r\n”];

// 바로 인쇄 요청, 인쇄 완료 시 outputCompleteEvent 가 호출 됨

[pController printText:@”test Print 3 \r\n”];

// 바로 인쇄 요청, 인쇄 완료 시 outputCompleteEvent 가 호출 됨

}

// 인쇄가 성공하면 아래 delegate 가 호출 됩니다..

- (void)outputComplete:(BXPrinterController *)controller outputID:(NSNumber*)outputID

errorStatus:(NSNumber*)errorStatuss {

NSLog(@”outputComplete. ID is %d”, outputID.integerValue);

// outputID 는 프린팅이 성공할 때 마다 1씩 증가되며 총 3회 호출 됩니다.

}

Page 115: Rev. 3 - BIXOLON ::MFi printer, Auto ID printer, Mobile ...210.116.101.218/upload/download/manual_all_ios_printer sdk api... · SRP-350III / SRP-352III ... 1-6-3 프로젝트에 Bixolon

iOS Printer SDK

Rev. 3.07 - 115 -

[Transaction Mode 를 사용할 경우] -(void) printProcess {

BXPrinterController* pController = [BXPrinterController getInstance]; If(pController != nil)

NSLog (@”getInstance Fail.”);

[[ppCCoonnttrroolllleerr sseettAAssyynnccMMooddee::YYEESS]];; [pController beginTransaction];

[pController printText:@”test Print 1\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController printText:@”test Print 2\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController printText:@”test Print 3\r\n”]; // 인쇄 버퍼에 data 만 쌓아둠 [pController endTransaction];

/// 버퍼에 쌓인 data 를 인쇄하고, 인쇄가 완료되면 outputComplete delegate 가 호출 됨. }

// 인쇄가 성공하면 아래 delegate 가 호출 됩니다..

- (void)outputComplete:(BXPrinterController *)controller outputID:(NSNumber*)outputID

errorStatus:(NSNumber*)errorStatuss {

NSLog(@”outputComplete. ID is %d”, outputID.integerValue);

// outputID 는 프린팅이 성공할 때 마다 1씩 증가되며 총 1회 호출 됩니다.

}