Библиотека Printooth, проблема контроля подачи этикеток - PullRequest
0 голосов
/ 07 февраля 2020

Я новичок в Android разработке. Следующий блок c является частью кода моего приложения, он выполняет простую работу по выбору двух столбцов информации из таблицы локальной базы данных sqlite, фильтрует ее по отсканированному штрих-коду и распечатывает полученную информацию плюс текущую дату.

Моя проблема связана с контролем подачи этикеток. Принтер выполняет команду Android APP только в режиме ESC / POS и не останавливает бумагу для этикеток в правильном положении для печати следующей этикетки. Если кто-то когда-либо делал что-то подобное, что также контролирует подачу бумаги термопринтером с помощью программного обеспечения, поделитесь своим опытом.

Марка и модель используемого мной принтера: Toshiba B-EP4DL

private void printText() {
    ArrayList<Printable> printables = new ArrayList<>();
    printables.add(new RawPrintable.Builder(new byte[]{27, 100, 4}).build());

    myDb.setBarcodcheck(String.valueOf(barcodefield.getText()));
    Cursor res = myDb.getAllData();
    if (res.getCount() == 0) {
        showMessage("Error", "Nothing Found");
        return;
    }
    StringBuffer buffer = new StringBuffer();
    while (res.moveToNext()) {
        buffer.append("LOCATION: "+ res.getString(0)+"\n");
        buffer.append("APPROVED: "+ res.getString(1)+"\n");
        buffer.append("DATE: "+date+"\n");
    }

    printables.add(new TextPrintable.Builder()
            .setText(buffer.toString())
            .setCharacterCode(DefaultPrinter.Companion.getCHARCODE_PC1252())
            .setLineSpacing(DefaultPrinter.Companion.getLINE_SPACING_60())
            .setEmphasizedMode(DefaultPrinter.Companion.getEMPHASIZED_MODE_BOLD())
            .setFontSize(DefaultPrinter.Companion.getFONT_SIZE_LARGE())
            //.setNewLinesAfter(1)
            .build());

    Printooth.INSTANCE.printer().print(printables);
}
...