2012-04-24 4 views
2

Я пытаюсь создать квитанцию, которая будет печататься с устройства Android на принтер TSP100 Star. Я искал везде и не могу найти простой пример печати растрированной квитанции (поскольку TSP100 принимает только растровый). Я отправил по электронной почте Star, и они отправили мне следующий код, но я не уверен, что это правильно, или как это сделать, и преобразовать его в форматированное растровое изображение и распечатать его.Создание растровой квитанции на принтере Star TSP100 в android

byte[] data; 
    ArrayList<Byte> list = new ArrayList<Byte>(); 

    Byte[] tempList; 
    list.addAll(Arrays.asList(new Byte[]{0x1b, 0x1d, 0x61, 0x01})); 

    data = "[If loaded.. Logo1 goes here]\r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    list.addAll(Arrays.asList(new Byte[]{0x1b, 0x1c, 0x70, 0x01, 0x00, '\r', '\n'})); //Stored Logo Printing 

    data = "Company Name\r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    data = "Street1\r\nCity, ST, ZIPCODE\r\n\r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    list.addAll(Arrays.asList(new Byte[]{0x1b, 0x1d, 0x61, 0x00})); // Alignment 

    list.addAll(Arrays.asList(new Byte[]{0x1b, 0x44, 0x02, 0x10, 0x22, 0x00})); //Set horizontal tab 

    data = "Date: 2/22/2012".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    list.addAll(Arrays.asList(new Byte[]{' ', 0x09, ' '})); //Moving Horizontal Tab 

    data = "Time: 9:18 PM\r\n------------------------------------------------\r\n\r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    list.addAll(Arrays.asList(new Byte[]{0x1b, 0x45})); // bold 

    data = "SALE \r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    list.addAll(Arrays.asList(new Byte[]{0x1b, 0x46})); // bolf off 

    data = "SKU ".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

    list.addAll(Arrays.asList(new Byte[]{0x09})); 

    // notice that we use a unicode representation because that is how Java expresses these bytes at double byte unicode 
    // This will TAB to the next horizontal position 
    data = " Description \u0009   Total\r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 
data = "34353434 \u0009 SP500\u0009  100.99\r\n".getBytes(); 
    tempList = new Byte[data.length]; 
    CopyArray(data, tempList); 
    list.addAll(Arrays.asList(tempList)); 

ETC ..

Теперь, чтобы получить из списка ArrayList в растровое изображение на принтер. Простой пример квитанции поможет чудесам. Я попросил его у STAR, но не знаю, сколько времени они возьмут, чтобы вернуться. Я считаю, что кто-то должен был это сделать.

спасибо.

ответ

4

Откуда у вас этот код? Это на самом деле небольшой фрагмент квитанции, которую я создал некоторое время назад. Я Кале Эванс, и я работаю в Star Micronics.

В этом примере показано, как отправить данные на принтер в виде исходного текста. Если вы хотите отправить растровые данные на принтер, вы должны отобразить свою квитанцию ​​в виде растрового изображения андроида, а затем передать ее как параметр в функции PrintImageAsBitmap, которую я считаю (или аналогичное имя. Посмотрите на активность растрирования).

+0

Привет, Kale Evans, я хотел знать, что это ODP 160-G, поддерживающий мобильную печать через USB? –

+0

Привет Kale, интересно, что я могу сделать для android обнаруживает принтер Star TSP100 eco через USB, я пробовал в соответствии с руководствами, но не обнаружил, что он обнаруживает принтер, я уже установил приложение SDK на планшет (nexus 7 и разжигание огня) http://www.starmicronics.com/PrinterIt=1&PrinterId=110 – cesarggf

+0

привет Кале Эванс.учему печатать логотип и имя написание в строке? Спасибо заранее –

Смежные вопросы