package Ġq ing da . cordova Ċ Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . util . Base 6 4 Ċ import Ġcom . r sk . api . R sk Api Ċ import Ġorg . apache . cordova . Callback Context Ċ import Ġorg . apache . cordova . C ordova Plugin Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONObject Ċ import Ġjava . util .* Ċ Ċ const Ġval ĠPRINT _ LAYOUT _ CENTER : ĠByte Ġ= Ġ 0 x 4 9 ; Ċ const Ġval ĠPRINT _ LAYOUT _ CANCEL : ĠByte Ġ= Ġ 0 x 4 b ; Ċ const Ġval ĠPRINT _ FONT _ 2 4 _ 2 4 : ĠByte Ġ= Ġ 0 x 1 ; Ċ const Ġval ĠPRINT _ FONT _ 1 6 _ 1 6 : ĠByte Ġ= Ġ 0 x 2 ; Ċ const Ġval ĠPRINT _ FONT _ 1 6 _ 3 2 : ĠByte Ġ= Ġ 0 x 3 ; Ċ const Ġval ĠPRINT _ FONT _ 2 0 _ 4 0 : ĠByte Ġ= Ġ 0 x 4 ; Ċ Ċ class ĠP wit he P DA Plugin Ġ: ĠC ordova Plugin () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġz g Device Inited Ġ= Ġfalse ; ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( action : ĠString ?, Ġargs : ĠJSONArray ?, Ġcallback Context : ĠCallback Context ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== Ġ" hello ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhello ( callback Context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( action Ġ== Ġ" print Page ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Page ( args !! , Ġcallback Context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ZG And Printer () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! zg Device Inited ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġr Ġ= ĠR sk Api . ZG Open Power () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( r Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" ä¸į æĶ¯æĮģ çļĦ è®¾å¤ĩ åŀĭ åı· , ĠæŃ¤ æ¨¡åĿĹ ä»ħ èĥ½ åľ¨ èŃ¦ ç¿ ¼ è®¾å¤ĩ ä¸Ń ä½¿çĶ¨ "); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġnote ( æĿ ¨ éĢ ¸ ): ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĮīçħ§ æĸĩæ¡£ ZG æ¨¡åĿĹ ä¸Ĭ çĶµ åĲİ éľĢè¦ģ çŃīå¾ħ 2 ç§Ĵ æīįèĥ½ ç»§ç»Ń . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 2 0 0 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcompleted ĊĠĠĠĠĠĠĠĠĠĠĠ Ġz g Device Inited Ġ= Ġtrue ; ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġnote ( æĿ ¨ éĢ ¸ ): ĊĠĠĠĠĠĠĠ Ġ// Ġ éĩį åĲ¯ æīĵåį° æľº , Ġ åĽłä¸º èŃ¦ ç¿ ¼ æīĵåį° æľº æ²¡æľī æıĲä¾Ľ éĩį ç½® çļĦ åĬŁèĥ½ ĊĠĠĠĠĠĠĠ Ġ// Ġ ä½Ĩæĺ¯ æľī åıĳçİ° æīĵåį° æľī æĹ¶ ä¼ļ éģĩ åĪ° æį¢ è¡Į å¼Ĥå¸¸ çļĦéĹ®é¢ĺ Ġ( éĩį åĲ¯ è®¾å¤ĩ åĲİ æģ ¢å¤į ) ĊĠĠĠĠĠĠĠ Ġ// Ġ æīĢä»¥ æ¯ıæ¬¡ æīĵåį° ä¹ĭåīį , Ġ æĪĳä»¬ ä¸» åĬ¨ åħ³éĹŃ åĨį éĩį åĲ¯ æīĵåį° æľº , Ġä»¥ æľŁ èİ·å¾Ĺ Ġ" éĩį ç½® " ĠçļĦ æķĪæŀľ Ġ( ä¸į çŁ¥éģĵ æĺ¯åĲ¦ çľŁ çļĦ æľīæķĪ ) ĊĠĠĠĠĠĠĠ ĠR sk Api . Print Close () ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 3 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġr Ġ= ĠR sk Api . Print Open () ĊĠĠĠĠĠĠĠ Ġif Ġ( r Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠException (" æīĵåį° æľº ä¸Ĭ çĶµ å¤±è´¥ , Ġcode =$ r "); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġnote ( æĿ ¨ éĢ ¸ ): ĊĠĠĠĠĠĠĠ Ġ// Ġ èĻ½çĦ¶ æĸĩæ¡£ ä¸Ń æ²¡æľī è¯´æĺİ , Ġ ä½Ĩ è¿ĻéĩĮ æĪĳä»¬ ä¹Ł ç¨ į å¾® æļĤ åģľ ä¸Ģä¸ĭ çŃīå¾ħ æīĵåį° æľº ä¸Ĭ çĶµ å®ĮæĪĲ . ĊĠĠĠĠĠĠĠ ĠThread . sleep ( 3 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵåį° : ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġprint Page ( args : ĠJSONArray , Ġcallback Context : ĠCallback Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcordova . thread Pool . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠåĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit ZG And Printer () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ é¢Ħ å¤ĩ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Gray ( 2 0 0 . to Byte ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print SetColor ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Speed ( 4 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġargs . getJSONObject ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelements Ġ= Ġdata . get JSONArray (" elements ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġelements . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelement Ġ= Ġelements . getJSONObject ( i ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( element . getString (" tagName ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text " Ġ-> Ġprint Text Element ( element ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image " Ġ-> Ġprint Image Element ( element ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ ç»ĵ å°¾ ç¬¦ åı· ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Dot Lines ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( PRINT _ LAYOUT _ CENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Chars (" **************** \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Dot Lines ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Line () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Context . success (" ok ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( error : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Context . error ( error . message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éĩį ç½® æĸĩæľ¬ æīĵåį° è®¾ç½® . ĊĠĠĠĠ Ġ* Ġ- Ġ ä¾ĭå¦Ĥ : Ġ åŃĹ ä½ĵ å¤§å°ı åĴĮ è¡Į é«ĺ çŃī ĊĠĠĠĠ Ġ* Ġ- Ġæ¯ı æ¬¡ æīĵåį° æĸĩæľ¬ åīį éĥ½ è°ĥçĶ¨ æŃ¤ æĸ¹æ³ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġreset Print Text Settings () Ġ{ ĊĠĠĠĠĠĠĠ ĠR sk Api . Print Font Set ( PRINT _ FONT _ 2 4 _ 2 4 ) ĊĠĠĠĠĠĠĠ ĠR sk Api . Print Font M agn ify ( 1 ) ĊĠĠĠĠĠĠĠ ĠR sk Api . Print Set Dot Line ( 1 2 ) ĊĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( PRINT _ LAYOUT _ CANCEL ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵåį° åĽ¾çīĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġprint Image Element ( element : ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbase 6 4 Ġ= Ġelement . getString (" base 6 4 ") ĊĠĠĠĠĠĠĠ Ġvar Ġqr code Ġ= Ġelement . getString (" qrcode ") ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġwidth Ġ= Ġelement . getString (" width ") ĊĠĠĠĠĠĠĠ Ġ// Ġval Ġheight Ġ= Ġelement . getInt (" height ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( qrcode Ġ!= Ġnull Ġ&& Ġqr code Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ äºĮ ç»´ çłģ æ¨¡å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Dot Lines ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( PRINT _ LAYOUT _ CENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print QR Width ( 2 5 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print QR ( qrcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( PRINT _ LAYOUT _ CANCEL ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Dot Lines ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åĽ¾çīĩ æ¨¡å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠBase 6 4 . decode ( base 6 4 , ĠBase 6 4 . DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĠBitmap Factory . decode ByteArray ( bytes , Ġ 0 , Ġbytes . size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( PRINT _ LAYOUT _ CENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Bitmap ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( PRINT _ LAYOUT _ CANCEL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æīĵåį° æĸĩæľ¬ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġprint Text Element ( element : ĠJSONObject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġelement . getString (" text ") ĊĠĠĠĠĠĠĠ Ġval ĠfontSize Ġ= Ġelement . getString (" fontSize ") ĊĠĠĠĠĠĠĠ Ġval Ġindent Ġ= Ġelement . getInt (" indent ") ĊĠĠĠĠĠĠĠ Ġval Ġalign Ġ= Ġelement . getString (" align "); ĊĊĠĠĠĠĠĠĠ Ġreset Print Text Settings () ĊĠĠĠĠĠĠĠ Ġif Ġ( text Ġ== Ġ"_" Ġ Ġ|| Ġtext Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Dot Lines ( 2 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Set Layout ( if Ġ( align Ġ== Ġ" center ") ĠPRINT _ LAYOUT _ CENTER Ġelse ĠPRINT _ LAYOUT _ CANCEL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fontSize Ġ== Ġ" large ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Font Set ( PRINT _ FONT _ 1 6 _ 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Font M agn ify ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprefix Chars Ġ= ĠChar Array ( indent ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArrays . fill ( prefix Chars , Ġ' Ġ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprefix Ġ= ĠString ( prefix Chars ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Chars ( prefix Ġ+ Ġtext Ġ+ Ġ"\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR sk Api . Print Line () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhello ( callback Context : ĠCallback Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġversion Ġ= ĠR sk Api . Get Version (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Context . success (" hello , ĠR sk Api Ġversion Ġis Ġ$ version "); ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( error : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback Context . error ( error . message ); ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }