rev. 3 - bixolon ::mfi printer, auto id printer, mobile...
TRANSCRIPT
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
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
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
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
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 이상
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
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
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
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
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
iOS Printer SDK
Rev. 3.07 - 11 -
1-6-2 Bluetooth Protocol 추가 하기
1) Project – Info - + 를 차례로 선택.
2) “ExternalAccessory.framework” 를 검색 후 Add 버튼을 눌러 추가.
1 2
3
iOS Printer SDK
Rev. 3.07 - 12 -
1-6-3 프로젝트에 Bixolon Library 추가 하기
1) Library 폴더를 프로젝트에 드래그 & 드롭 합니다.
Drag & Drop
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
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 을 참조하십시오.
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로 설정합니다.
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 바코드 데이터를 바코드 아래쪽에 출력합니다.
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
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% 이하 충전된 상태입니다.
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
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
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 응답 시간이 초과되었습니다.
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 카드 인식 불량 또는 카드 입력이 되지
않습니다.
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
iOS Printer SDK
Rev. 3.07 - 24 -
3-2-3 support
바코드의 지원 여부.
@property BOOL support [Discussion]
접속된 프린터의 정보 수집을 통해 자동으로 저장됩니다.
[Availability] SDK 3.0.3 and later
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
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
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
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);
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
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]; //…
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]
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]
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”);
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”);
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”);
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”);
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”);
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
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.”); }
커버 상태만 체크
모든 상태 체크
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;
} }
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
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
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
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.”);
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.”);
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];
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];
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.”); }
검색 예정
검색 완료
검색 중
iOS Printer SDK
Rev. 3.07 - 49 -
// 프린터가 검색 될 때마다 호출 됩니다..
- (void)didNotLookup:(BXPrinterController *)controller withError:(NSError*) error {
NSLog(“didNotLookup.”); }
검색 실패
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]; //…
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
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 완료
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.”);
}
상태가 변경 됨.
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”);
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”);
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.”);
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.”);
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.”);
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
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.”);
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.”);
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.”);
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.”);
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.”); }
커버 상태만 체크
커버/종이 상태 체크
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
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); }
} }
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.”);
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
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); }
}
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
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
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); }
}
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); }
전송만 하는 경우
응답이 있는
데이터 전송
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
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
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
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
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
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
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.”);
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.”);
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.”);
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.”);
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.”);
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.”);
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씩 증가됩니다.
}
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 를 인쇄함.
}
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 를 인쇄함.
}
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.
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.
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.
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]; // 위에서 설정하고, 저장한 컨텐츠를 인
쇄합니다.
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.”);
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.”);
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.”);
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.”);
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.”);
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);
}
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
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
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);
}
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”); }
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.”); }
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. ”); }
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.”); }
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.”); }
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.”); }
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”); }
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); }
}
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.”); }
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씩 증가됩니다.
}
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]
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
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회 호출 됩니다.
}
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회 호출 됩니다.
}