Как преобразовать строку base64 в этикетку ZPL для печати на принтере Zebra ZQ630Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как преобразовать строку base64 в этикетку ZPL для печати на принтере Zebra ZQ630

Сообщение Anonymous »

Для контекста: наше приложение представляет собой Android WebView, которое загружает URL-адрес (веб-приложение, написанное на React) с функцией печати. Суть приложения заключается в том, что при нажатии кнопки печати оно запускает метод печати на стороне Android через интерфейс @Javascript, принося с собой полезную нагрузку — строку base 64, которую мы преобразуем на стороне Android кода для печати. Примечание. (Принтер подключен к устройству Android)

Проблема в том, что преобразование происходит в виде
Изображение
вместо
Изображение
.

Что еще больше усложняет проблему, на base64decode.net с использованием Google Chrome преобразование не вызывает проблем, но если вы попробуете ту же полезную нагрузку на том же сайте с помощью Safari, она будет зашифрована, как в нашем приложении, как показано выше.

Я пробовал использовать Zebra SDK Base64 API, и пока ничего не помогло.

Я пытался преобразовать строку Base64 в сторона React моего приложения использует atob, но даже если оно успешно преобразует и отображает этот код. На Labelary.com он не генерирует никаких изображений и выдает ошибку.

Я думаю, мой вопрос будет заключаться в том, сталкивался ли кто-нибудь с этим раньше и знает ли кто-нибудь способ обойти это. --Хороший способ сгенерировать строку ZPL, которая будет работать на Labelary.com либо на Java, либо на Javascript.

// Этот код является результатом преобразования atob, которое не будет генерировать ZPL на labelary.com

Код: Выделить всё

^XA
^PW812
^CI13
^FT0,510^GB809,0,2^FS
^FT0,423^GB809,0,20^FS
^FT244,402^GB0,215,2^FS
^FT0,187^GB809,0,2^FS
^FT20,20^A0N,18,22^FDJCPENNEY.COM^FS
^FT20,43^A0N,18,22^FD5555 SCARBOROUGH BLVD^FS
^FT20,65^A0N,18,22^FDCOLUMBUS OH 43232^FS
^FT447,30^A0N,23,29^FD1 LBS^FS
^FT630,30^A0N,23,29^FD1 OF 1^FS
^FT20,122^A0N,28,35^FDSHIP^FS
^FT20,150^A0N,28,35^FD TO:^FS
^FT122,118^A0N,23,29^FDUSPS 48182^FS
^FT122,144^A0N,23,29^FD8149 LEWIS AVE^FS
^FT122,177^A0N,28,35^FH^FDTEMPERANCE MI 48182_F09998^FS
^FT20,396^BD2^FH^FD988840481829998[)>_1E01_1D961Z00316075_1DUPSN_1DW2A813_1E07L$4Y29L'_1D+_1DH:ZGX/,ZX2&O#( *XZ6F+XD1A/*_0D:+GDI_0D_1E_04^FS
^FT284,252^A0N,65,81^FH^FD MI 482 0_F001 X^FS
^BY4,,102^FT330,382^BCN,,N^FD>;420481829998^FS
^FT20,467^A0N,42,52^FDUPS SUREPOST^FS
^FT20,500^A0N,23,29^FDTRACKING #: 1Z W2A 813 YW 0031 6075^FS
^FT687,508^GB122,0,85^FS
^BY3,,142^FT106,664^BCN,,N^FD>:1ZW2A813YW>500316075^FS
^FT0,695^GB809,0,14^FS
^FT20,721^A0N,28,35^FDUSPS DELIVER TO:^FS
^FT20,743^A0N,18,22^FDMARCIA SMOTHERMAN^FS
^FT20,765^A0N,18,22^FD268 HIGHLANDS^FS
^FT20,787^A0N,18,22^FH^FDTEMPERANCE MI 48182_F01189^FS
^FT356,721^A0N,18,22^FH^FDCarrier_F0Leave^FS
^FT356,746^A0N,18,22^FDIf No Response^FS
^FT569,813^GB213,112,2^FS
^FT603,723^A0N,18,22^FH^FDPARCEL SELECT^FS
^FT586,747^A0N,18,22^FH^FDU.S. POSTAGE PAID^FS
^FT658,771^A0N,18,22^FH^FDUPS^FS
^FT659,795^A0N,18,22^FH^FDeVS^FS
^FT0,839^GB809,0,14^FS
^FT221,883^A0N,32,40^FDUSPS TRACKING # eVS^FS
^BY3,,156^FT40,1079^BCN,,N^FD>;>842048182>892612909859896551001000113^FS
^FT156,1135^A0N,28,35^FD9261 2909 8598 9655 1001 0001 13^FS
^FT0,1148^GB809,0,8^FS
^FT508,1193^A0N,23,29^FDREF1: 2020066410165651^FS
^FT508,1215^A0N,23,29^FDContainer ID: 307497242^FS
^BY2,,30^FT20,1189^BCN,,N^FD>;257977480900^FS
^FT20,1215^A0N,23,29^FD257977480900^FS
^XZ
Примечание. У меня были другие преобразования строк в base64, которые работали хорошо, но не все из них. Ниже приведен тот же код, преобразованный в Base64decode.net в Chrome, но он хорошо работает на Labelary.com

Код: Выделить всё

 ^XA
^PW812
^CI13
^FT0,510^GB809,0,2^FS
^FT0,423^GB809,0,20^FS
^FT244,402^GB0,215,2^FS
^FT0,187^GB809,0,2^FS
^FT20,20^A0N,18,22^FDJCPENNEY.COM^FS
^FT20,43^A0N,18,22^FD5555 SCARBOROUGH BLVD^FS
^FT20,65^A0N,18,22^FDCOLUMBUS OH 43232^FS
^FT447,30^A0N,23,29^FD1 LBS^FS
^FT630,30^A0N,23,29^FD1 OF 1^FS
^FT20,122^A0N,28,35^FDSHIP^FS
^FT20,150^A0N,28,35^FD TO:^FS
^FT122,118^A0N,23,29^FDUSPS 48182^FS
^FT122,144^A0N,23,29^FD8149 LEWIS AVE^FS
^FT122,177^A0N,28,35^FH^FDTEMPERANCE MI 48182_F09998^FS
^FT20,396^BD2^FH^FD988840481829998[)>_1E01_1D961Z00316075_1DUPSN_1DW2A813_1E07L$4Y29L'_1D+_1DH:ZGX/,ZX2&O#( *XZ6F+XD1A/*_0D:+GDI_0D_1E_04^FS
^FT284,252^A0N,65,81^FH^FD MI 482 0_F001 X^FS
^BY4,,102^FT330,382^BCN,,N^FD>;420481829998^FS
^FT20,467^A0N,42,52^FDUPS SUREPOST^FS
^FT20,500^A0N,23,29^FDTRACKING #: 1Z W2A 813 YW 0031 6075^FS
^FT687,508^GB122,0,85^FS
^BY3,,142^FT106,664^BCN,,N^FD>:1ZW2A813YW>500316075^FS
^FT0,695^GB809,0,14^FS
^FT20,721^A0N,28,35^FDUSPS DELIVER TO:^FS
^FT20,743^A0N,18,22^FDMARCIA SMOTHERMAN^FS
^FT20,765^A0N,18,22^FD268 HIGHLANDS^FS
^FT20,787^A0N,18,22^FH^FDTEMPERANCE MI 48182_F01189^FS
^FT356,721^A0N,18,22^FH^FDCarrier_F0Leave^FS
^FT356,746^A0N,18,22^FDIf No Response^FS
^FT569,813^GB213,112,2^FS
^FT603,723^A0N,18,22^FH^FDPARCEL SELECT^FS
^FT586,747^A0N,18,22^FH^FDU.S.  POSTAGE PAID^FS
^FT658,771^A0N,18,22^FH^FDUPS^FS
^FT659,795^A0N,18,22^FH^FDeVS^FS
^FT0,839^GB809,0,14^FS
^FT221,883^A0N,32,40^FDUSPS TRACKING # eVS^FS
^BY3,,156^FT40,1079^BCN,,N^FD>;>842048182>892612909859896551001000113^FS
^FT156,1135^A0N,28,35^FD9261 2909 8598 9655 1001 0001 13^FS
^FT0,1148^GB809,0,8^FS
^FT508,1193^A0N,23,29^FDREF1: 2020066410165651^FS
^FT508,1215^A0N,23,29^FDContainer ID:  307497242^FS
^BY2,,30^FT20,1189^BCN,,N^FD>;257977480900^FS
^FT20,1215^A0N,23,29^FD257977480900^FS
^XZ
Наконец, это строка base64, о которой идет речь:


AsADIAMABeAEYAUWANAF4ARgBUADIANAAA0ACwanAwADIAXgBHAEIAMAAsADIAMQA1ACwAMgBeAEYAUWANAF4ARgBUADAALAXADgANwBeAEcAQgA4ADAAOQAsADAALAYAF4ARgBTAA0AXgBGAFQ AMgAwACwAMgAwAF4AQQAwAE4ALAXADgALAYADIAXgBGAEQASgBDAFAARQBOAE4ARQBZAC4AQwBPAE0AXgBGAFMADQBeAEYAVAYADAALAA0ADMAXgBBADAATgAsADEAOAAsADIAMgBeAEYARAA1 ADUANQA1ACAAUwBDAEEAUgBCAE8AUgBPAFUARwBIACAAQgBMAFYARABeAEYAUWANAF4ARgBUADIAMAMasADYANQBeAEEAMABOACwAMQA4ACwAMgAyAF4ARgBEAEMATwBMAFUATQBCAFUAUwAgAE8ASA AgADQAMwADMAMgBeAEYAUWANAF4ARgBUADKANAA3ACwAMwAwAF4AQQAwAE4ALAYADMALAYADkAXgBGAEQAMQAEwAQgBTAF4ARgBTAA0AXgBGAFQAzADAALAAzADAAXgBBADAATgASADI AMwAsADIAOQBeAEYARAAxACAAtwBGACAAMQBeAEYAUWANAF4ARgBUADIAMAAsADEAMgayAF4AQQAwAE4ALAYADGALAaZADUAXgBGAEQAUwBIAEkAUABeAEYAUwANAF4ARgBUADIAMAAsADEANQaw AF4AQQAwAE4ALAYADgalAAzADUAXgBGAEQIABUAE8AOgBeAEYAUWANAF4ARgBUADEAAMgAyACwAMQAxADgAXgBBADAATgAsADIAMwAsADIAOQBeAEYARABVAFMAUABTACANAA4ADEAOAAyAF4AR gBTAA0AXgBGAFQAMQayADIALAXADQANABeAEEAMABOACwAMgAzACwAMgA5AF4ARgBEADgAMQA0ADkAIABMAEUAVwBJAFMAIABBAFYARQBeAEYAUwANAF4ARgBUADEAMgAyACwAMQA3ADcAXgBBADA ATgAsADIAOAAasADMANQBeAEYASABeAYARABUAEUATQBQAEUAUgBBAE4AQwBFACAATQBJACANAA4ADEAOAAyAF8ARgAwADkAOQA5ADgAXgBGAFMADQBeAEYAVAAyADAALAazADkangBeAEIARAAy AF4ARgBIAF4ARgBEADkAOAA4ADgANAWADQAOAAxADgAMgA5ADkAOQA4AFsAKQA+AF8AMQBFADAAMQBfADEARAA5ADYAMQBaADAAMAZADEANgAWADcANQBfADEARABVAFAAUwBOAF8AMQBEAFcAM gBBADgAMQAzAF8AMQBFADAANwBMACQANABZADIAOQBMACCXwAxAEQAKwBFADEARABIADoAWgBHAFgALwAsAFOAWAAyACYATwAjACgAIAAqAFgAWgA2AEYAKwBYAEQAMQBBAC8AKgBfADAARAA6AC sARwBEEAekAXwAwAEQAXwAxAEUAXwAwADQAXgBGAFMADQBeAEYAVAYADGANAAasADIANQayAF4AQQAwAE4ALAA2ADUALAA4ADEAXgBGAEgAXgBGAEQIABNAEkAIAA0ADgAMgAgADAAXwBGADAAMax ACAAWABeAEYAUWANAF4AQgBZADQALAasADEAMAayAF4ARgBUADMAMwAwACwAMwA4ADIAXgBCAEMATgAsACwATgBeAEYARAA+ADSANAyADAANAA4ADEAOAAyADkAOQA5ADgAXgBGAFMADQBeAEYAV Стихи ARABUAFIAQQBDAesASQBOAEcAIAAjaDoAIAaxAFoAIABXADIAQQAgADgAMQAzACAAWQBXAAMAAwADMAMQAgADYAMAA3ADUAXgBGAFMADQBeAEYAVAA2ADgANwAsADUAMAA4AF4ARwBCADEAMgAy AcwAMasADgANQBeAEYAUWANAF4AQgBZADMALAsADEANAayAF4ARgBUADEAMAA2ACwANGa2ADQAXgBCAEMATgAsACwATgBeAEYARAA+ADoAMQBaAFcAMgBBADgAMQAzAFkAVwA+ADUAMAwADDMAMQ A2ADANwA1AF4ARgBTAA0AXgBGAFQAMAAsADYAOQA1AF4ARwBCADgAMAA5ACwAAsADEANABeAEYAUWANAF4ARgBUADIAMAMasADcamgAxAF4AQQawaE4ALAYADGALAaZADUAXgBGAEQAVQBTAFA AUwAgaAEQARQBMAekAVgBFAFIAIABUAE8AOgBeAEYAUWANAF4ARgBUADIAMAAsADcANAazAF4AQQAwAE4ALAxADgaLayADIAXgBGAEQATQBBAFIAQwBJAEEAIABTAE0ATwBUAEgARQBSAE0AQQBO AF4ARgBTAA0AXgBGAFQAMgAwaANwA2ADUAXgBBADAATgAsADEAOAAAsADIAMgBeAEYARAAyADYAOAAgaAEgASQBHAEgATABBAE4ARABTAF4ARgBTAA0AXgBGAFQAMgAwaANwA4ADcAXgBBADAAT GASADEAOAAasADIAMgBeAEYASABeAYARABUAEUATQBQAEUAUGBBAE4AQwBFACAATQBJACANAA4ADEAOAAyAF8ARgAwADEAMQA4ADkAXgBGAFMADQBeAEYAVAAazADUangAsADcAMgAxAF4AQQAwAE4 ALAaxADgaLayADIAXgBGAEgAXgBGAEQAQwBhaHIAcgBpAGUAcgBfAEYAMABMAGUAYQB2AGUAXgBGAFMADQBeAEYAVAAzADUangAsADcANAA2AF4AQQAwAE4ALAaxADgaLayADIAXgBGAEQASQBm ACAATgBvaACAAUgBlAHMAcABvAG4AcwBlAF4ARgBTAA0AXgBGAFQANQA2ADKALAA4ADEAMwBeAEcAQgayADEAMwAsADEAMQayACwAMgBeAEYAUwANAF4ARgBUADYAMAazACwYADMAXgBBADAAT GASADEAOAAasADIAMgBeAEYASABeAYARABQAEAUgBDAEUATAAgAFMARQBMAEUAQwBUAF4ARgBTAA0AXgBGAFQANQA4ADYALAA3ADQANwBeAEEAMABOACwAMQA4ACwAMgAyAF4ARgBIAF4ARgBEAF UALgBTAC4AIABQAE8AUwBUAEEARwBFACAAUABBAEKARABeAEYAUWANAF4ARgBUADYANQA4ACWANwA3ADEAXgBBADAATgasADEAOAAasADIAMgBeAEYASABeAYARABVAFAAUwBeAEYAUWANAF4ARgBU ADYANQA5ACwANwA5ADUAXgBBADAATgAsADEAOAAAsADIAMgBeAEYASABAEYARABlAFYAUwBeAEYAUWANAF4ARgBUADAALAA4ADAMAOQBeAEcAQgA4ADAAOQaSADAALAXADQAXgBGAFMADQBeAEYAV AAyADIAMQAsADgAOAAzAF4AQQAwAE4ALAAzADIALAA0ADAAXgBGAEQAVQBTAFAAUwAgAFQAUgBBAEMASwBJAE4ARwAgACMAIABlAFYAUwBeAEYAUwANAF4AQgBZADMALAsADEANQA2AF4ARGBUAD ACADEMIC АКАДЕМИЧЕСКИЕ+ADSAP+ADQAMgAADQAMgA+ADAAOADAADAADA5ADA5ADAAD5AD2ADUANQAADAGADAAMQA zAF4ARgBTAA0AXgBGAFQAMQA1ADYALAXADEAMwA1AF4AQQAwAE4ALAYADGALAaZADUAXgBGAEQAOQAYADYAMQAgADIAOQAwADkAIAA4ADUAOQA4ACAOQA2ADUANQAgADEAMAAwADEAIAAwADAAM AAxaAAMQAzAF4ARgBTAA0AXgBGAFQAMAAsADEAMQA0ADgAXgBHAEIOAAwADKALAwACwAOABeAEYAUWANAF4ARgBUADUAMAA4ACwAMQAxaADkAMwBeAEEAMABOACwAMgAzACwAMgA5AF4ARgBEAF IARQBGADEOgAgADIAMAyADAAMAA2ADYANAaxADAAMQA2ADUANGA1ADEAXgBGAFMADQBeAEYAVAA1ADAAOAAasADEAMgAxADUAXgBBADAATgAsADIAMwAsADIAOQBeAEYARABDAG8AbgB0AGEAaQBu AGUAcgAgaEKARAA6ACAAMwAwADCANAA5ADcAMgA0ADIAXgBGAFMADQBeAEIAWQAyACwALAAzADAAXgBGAFQAMgAwACwAMQaxADgAOQBeAEIAQwBOACwALABOAF4ARgBEAD4AOWAYADUANwA5ADCAN wa0ADgAMA5ADAAMABeAEYAUWANAF4ARgBUADIAMAAsADEAMgAxaDUAXgBBADAATgAsADIAMwAsADIAOQBeAEYARAAyADUANwA5ADcANwA0ADgAMA5ADAAMABeAEYAUwANAF4AWABaAA==


Подробнее здесь: https://stackoverflow.com/questions/606 ... 30-printer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»