распечатать изображение и текст к получению с помощью cpcl в Android MZ320 с помощью Android - PullRequest
0 голосов
/ 11 июня 2018

Я пытался напечатать изображение и текст в квитанции, используя формат Cpcl, как этот шаблон.У меня есть пример набора логотипов в качестве переменной и использую функцию для чтения изображения в виде строки, но это изображение в примере в формате CPCL Я много пытался получить свой логотип в формате cpcl, но не могу, поэтому мне нужно знать, какполучить логотип с моим изображением в формате cpcl или другим способом установить изображение и текст таким же образом.

===================================================

нажмите здесь, чтобы увидеть изображение, на этом изображении напечатан билет спроработанный пример и это то, что мне нужно, но я не могу сменить имидж на новый.

//this template used to design my ticket which it has image and text in the same ticket like what i need.

    ! 0 200 200 1050 1

    PW 575

    TONE 0

    SPEED 3

    ON-FEED IGNORE

    NO-PACE

    BAR-SENSE

    BT 0 4 6

    B 128 3 30 120 20 0 ${barcode}

     /* the line below is used to set image as a string variable initialized
     in code from image i have in the worked example which its extension
    logo.cpcl" I don't know how it comes? and i need to change new logo to 
    Cpcl from png too "newlogo.png -> newlogo.cpcl" "pcx" x, y, data"*/

    PCX 420 790 ${Logo}

    ML 32

    T270 7 0 550 170 ${typeTicket}

    ENDML

    ML 32

    T270 7 0 498 170 ${validPeriod}

    ENDML

    ML 25

    T270 7 0 446 170 ${park}

    ENDML

    ML 32

    T270 7 0 370 170 ${price}

    ENDML

    ML 25

    T270 7 0 300 170 ${termsOfUse}

    ENDML





    PRINT

================================ * 101= *== *

// эта функция только для того, чтобы понять, что я использую для чтения изображения.

[//this line I use to call the function to read cpcl image!
//and here we got the image from resources

result = StringUtils.replace(result, "${Logo}", PrinterUtil.readFormat(context, R.raw.logo));


//this is the code used to read image as a string and it works perfectly with the example.

public static String readFormat(Context context, int formatRes) {

  InputStream is = null;

   try {

  is = context.getResources().openRawResource(formatRes);

   try {

   return readString(is);

  } catch (IOException e) {

   return null;

  }

  } finally {

   if (is != null) {

   try {

  is.close();

  } catch (IOException e) {

  }

  }

  }

}][1]

1 Ответ

0 голосов
/ 02 июля 2018

Я пробовал много решений, но оно тоже не работает.У меня есть старый код, использующий изображение как لا-файл в расширении cpcl вместо png или jpg. Не знаю, как это получается?но я создал новое решение, когда я искал в документации, я нашел эту команду и сделал это, используя шаги удара.

Как изменить логотип в Ticket с помощью CPCL в приложении для Android?

1.Вынеобходимо выполнить следующие действия, чтобы изменить его и заставить работать с принтером Zebra MZ320 & iMZ320 :

  • Сначала вам нужно изменить изображение на черно-белоеизображение по этой ссылке.https://pinetools.com/threshold-image.

  • После этого вы должны получить его в виде двоичного текста из его пикселей и изменить его размер, используя пользовательскую ширину = 120, используя эту ссылку https://www.dcode.fr/binary-image.

  • Скопируйте двоичный текст, который выэкспортируется из изображения и вставьте его в текстовый редактор, как notebad ++.

2. Измените все (1) в изображении на (F) заглавную букву.

3. your_ticket.cpcl Затем вы должны использовать в нем эту команду

`EXPANDED-GRAPHICS [ByteWidth] [Height] [X] [Y] [Data]<CR><LF>`.

4.ByteWidth - размер байтов первой строки в ваших данных, напримерэтот пример ниже.

5.Height - это количество строк в ваших данных

6.Data - данные изображения, скопируйте их из текстового редактора и запишите, как в этом примере.

7.Пример:

РАСШИРЕННАЯ ГРАФИКА 10 10 30 30 FFFFFFFFFFFFFFFFFFFF

FFFFFFFFFFFFFFFFFFFF

FF0000FFFFFFF00000FF

F0000000

FF000000FFF0000000FF

FFFFFFFFFFFFFFFFFFFF

  • Проверьте свою картинкуЕсли вы обнаружите, что ваше изображение нечеткое, попробуйте повернуть его на 35 градусов вправо, как это изображение.
...