Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java打印到标签打印机_Java_Printing_Label - Fatal编程技术网

用Java打印到标签打印机

用Java打印到标签打印机,java,printing,label,Java,Printing,Label,我在打印标签打印机时遇到问题。下面的代码在一个标签上打印4个“标签”(附标签图片) 下面的代码打印到brother QL-500标签打印机上。它打印到3.5英寸乘1.1英寸的标签上 如果有人能帮助我更好地理解代码,那也太好了 import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.print.PageFormat; import java.awt.print.Paper

我在打印标签打印机时遇到问题。下面的代码在一个标签上打印4个“标签”(附标签图片)

下面的代码打印到brother QL-500标签打印机上。它打印到3.5英寸乘1.1英寸的标签上

如果有人能帮助我更好地理解代码,那也太好了

import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import javax.print.PrintService;



public class DYMOLabelPrintConnector implements Printable {

public static final String PRINTERNAME = "DYMO LabelWriter 400";


public static final boolean PRINTMENU = false;

public static void main(String[] args) {
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = new Paper();

final double widthPaper = (1.2 * 72);
final double heightPaper = (1.5 * 72);

paper.setSize(widthPaper, heightPaper);
paper.setImageableArea(0, 0, widthPaper, heightPaper);

pageFormat.setPaper(paper);

pageFormat.setOrientation(PageFormat.LANDSCAPE);

if (PRINTMENU) {
  if (printerJob.printDialog()) {
    printerJob.setPrintable(new DYMOLabelPrintConnector(), pageFormat); 

    try {
      printerJob.print();
    } catch (PrinterException e) {
      e.printStackTrace();
    }
  }
} else {
  PrintService[] printService = PrinterJob.lookupPrintServices();

  for (int i = 0; i < printService.length; i++) {
    System.out.println(printService[i].getName());

    if (printService[i].getName().compareTo(PRINTERNAME) == 0) {
      try {
        printerJob.setPrintService(printService[i]);
        printerJob.setPrintable(new DYMOLabelPrintConnector(), pageFormat); 
        printerJob.print();
      } catch (PrinterException e) {
        e.printStackTrace();
      }
    }
  }
}

System.exit(0);
 }

  public String getValue(final int elementOnLabel, final int labelCounter) {
  String value = "";

switch (elementOnLabel) {
case 0:
  // what ever you want to have in this line
  value = "SetupX";

  break;

case 1:
    // what ever you want to have in this line
  value = "fiehnlab.ucd";

  break;

case 2:
    // what ever you want to have in this line
  value = "id: " + labelCounter;

  break;

case 3:
    // what ever you want to have in this line
  // TODO - add DB connection
  value = "label:" + elementOnLabel;

  break;

case 4:
    // what ever you want to have in this line
  value = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US).format(new Date());

  break;

default:
  break;
}

return value;
}


public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
throws PrinterException {
System.out.println("printing page: " + pageIndex);

   if (pageIndex < getPageNumbers()) {
    Graphics2D g = (Graphics2D) graphics;

  // g.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
  g.translate(20, 10);

  String value = "";
  pageIndex = pageIndex + 1;

  // specific for four circular labels per page
  for (int x = 0; x < 80; x = x + 50) {
    for (int y = 0; y < 80; y = y + 36) {
      int posOnPage = 4; // BottomRight, TopRight, BottomLeft, TopLeft 

      if (x > 0) {
        posOnPage = posOnPage - 2;
      }

      if (y > 0) {
        posOnPage = posOnPage - 1;
      }

      // current counter for the label.
      int id = (posOnPage - 1) + ((pageIndex - 1) * 4);

      // setupx
      g.setFont(new Font(g.getFont().getFontName(), g.getFont().getStyle(), 3));
      value = this.getValue(0, id);
      g.drawString("      " + value, x, y);

      // fiehnlab
      g.setFont(new Font(g.getFont().getFontName(), g.getFont().getStyle(), 3));
      value = this.getValue(1, id);
      g.drawString("    " + value, x, y + 4);

      // ID
      g.setFont(new Font(g.getFont().getFontName(), Font.BOLD, 7));
      value = this.getValue(2, id);
      g.drawString("" + value, x, y + 10);

      // label
      g.setFont(new Font(g.getFont().getFontName(), g.getFont().getStyle(), 5));
      value = this.getValue(3, id);
      g.drawString(" " + value, x, y + 16);

      // date
      g.setFont(new Font(g.getFont().getFontName(), Font.PLAIN, 3));
      value = this.getValue(4, id);
      g.drawString("      " + value, x, y + 20);
    }
  }

  return PAGE_EXISTS;
} else {
  return NO_SUCH_PAGE;
}
}

public int getPageNumbers() {
return 5;
 }
 }

enter code here
导入java.awt.Font;
导入java.awt.Graphics;
导入java.awt.Graphics2D;
导入java.awt.print.PageFormat;
导入java.awt.print.Paper;
导入java.awt.print.Printable;
导入java.awt.print.PrinterException;
导入java.awt.print.PrinterJob;
导入java.text.DateFormat;
导入java.util.Date;
导入java.util.Locale;
导入javax.print.PrintService;
公共类DYMOLabelPrintConnector实现可打印{
公共静态最终字符串PRINTERNAME=“DYMO LabelWriter 400”;
公共静态最终布尔打印菜单=false;
公共静态void main(字符串[]args){
PrinterJob PrinterJob=PrinterJob.getPrinterJob();
PageFormat PageFormat=printerJob.defaultPage();
纸张=新纸张();
最终双面纸=(1.2*72);
最终双高纸=(1.5*72);
纸张。设定尺寸(宽度纸张、高度纸张);
纸张。可设置图像区域(0,0,宽度纸张,高度纸张);
页面格式。设定纸(纸);
设置方向(pageFormat.LANDSCAPE);
如果(打印菜单){
if(printerJob.printDialog()){
setPrintable(新的DYMOLabelPrintConnector(),pageFormat);
试一试{
printerJob.print();
}捕获(打印异常e){
e、 printStackTrace();
}
}
}否则{
PrintService[]PrintService=PrinterJob.lookupPrintServices();
for(int i=0;i0){
posOnPage=posOnPage-2;
}
如果(y>0){
posOnPage=posOnPage-1;
}
//标签的当前计数器。
intid=(posOnPage-1)+(pageIndex-1)*4;
//setupx
g、 setFont(新字体(g.getFont().getFontName(),g.getFont().getStyle(),3));
value=this.getValue(0,id);
g、 抽绳(“+”值,x,y);
//费恩实验室
g、 setFont(新字体(g.getFont().getFontName(),g.getFont().getStyle(),3));
value=this.getValue(1,id);
g、 抽绳(“+”值,x,y+4);
//身份证
g、 setFont(新字体(g.getFont().getFontName(),Font.BOLD,7));
value=this.getValue(2,id);
g、 抽绳(“+”值,x,y+10);
//标签
g、 setFont(新字体(g.getFont().getFontName(),g.getFont().getStyle(),5));
value=this.getValue(3,id);
g、 抽绳(“+value,x,y+16);
//日期
g、 setFont(新字体(g.getFont().getFontName(),Font.PLAIN,3));
value=this.getValue(4,id);
g、 抽绳(“+value,x,y+20);
}
}
返回页面_存在;
}否则{
不返回此类页面;
}
}
public int getPageNumber(){
返回5;
}
}
在这里输入代码
下面是它打印的内容:


哇,我无法告诉你我有多喜欢用Java打印,当它工作时,它很棒

直接打印到图形上下文

Barcode b = BarcodeFactory.createCode128("Hello");
b.setResolution(72);

.
.
.

public static class PrintToGraphics implements Printable {

    private Barcode b;

    private PrintToGraphics(Barcode b) {

        this.b = b;

    }

    @Override
    public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {

        int result = NO_SUCH_PAGE;
        if (pageIndex == 0) {

            result = PAGE_EXISTS;

            int x = (int)pageFormat.getImageableX();
            int y = (int)pageFormat.getImageableY();

            int width = (int)pageFormat.getImageableWidth();
            int height = (int)pageFormat.getImageableHeight();

            graphics.translate(x, y);
            try {
                b.draw((Graphics2D)graphics, 0, 0);
            } catch (OutputException ex) {

                ex.printStackTrace();

            }

        }

        return result;

    }

}
最后,但并非最不重要的是,直接从下载的“示例”目录

public class PrintingExample
{

    public static void main(String[] args)
    {
        try
        {
            Barcode b = BarcodeFactory.createCode128("Hello");
            PrinterJob job = PrinterJob.getPrinterJob();
            job.setPrintable(b);
            if (job.printDialog())
            {
                job.print();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

    }

}


我有一个类似的代码,但不能使东芝便携式打印机在TPCL模式下打印,我的代码工作正常,但只有当打印机处于ESC/POS模式时。我的打印机是东芝B-EP4-DL

这是我的主要活动:

 package com.example.warehousev3;

 import android.app.Activity;
 import android.content.Intent;
 import android.database.Cursor;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;

 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;

 import com.mazenrashed.printooth.Printooth;
 import com.mazenrashed.printooth.data.printable.Printable;
 import com.mazenrashed.printooth.data.printable.RawPrintable;
 import com.mazenrashed.printooth.data.printable.TextPrintable;
 import com.mazenrashed.printooth.data.printer.DefaultPrinter;
 import com.mazenrashed.printooth.ui.ScanningActivity;
 import com.mazenrashed.printooth.utilities.Printing;
 import com.mazenrashed.printooth.utilities.PrintingCallback;

 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;

 public class MainActivity extends AppCompatActivity implements PrintingCallback {
 DatabaseHelper myDb;
 Button btnPrint, btn_unpair_pair;
 EditText barcodefield = null;

 Printing printing;

 private Calendar calendar;
 private SimpleDateFormat dateFormat;
 private String date;

 private final static char ESC_CHAR = 0x1B; // to be used on esc/pos commands

 @Override
 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

calendar = Calendar.getInstance();
dateFormat = new SimpleDateFormat("dd/MM/yyyy");
date = dateFormat.format(calendar.getTime());

myDb = new DatabaseHelper(this);
btnPrint = findViewById(R.id.cmd_print);
barcodefield = findViewById(R.id.txt_barcode);
btn_unpair_pair = findViewById(R.id.btnPiarUnpair);

btnPrint.setVisibility(View.GONE); //Set Print Button Invisible

viewAll();
}

public void viewAll() {
if (printing != null)
    printing.setPrintingCallback(this);

btn_unpair_pair.setOnClickListener(view -> {
    if (Printooth.INSTANCE.hasPairedPrinter())
        Printooth.INSTANCE.removeCurrentPrinter();
    else {
        startActivityForResult(new Intent(MainActivity.this, ScanningActivity.class), ScanningActivity.SCANNING_FOR_PRINTER);
        changePairAndUpair();
    }
});

/*      //Print Button function
btnPrint.setOnClickListener(view -> {
    if (!Printooth.INSTANCE.hasPairedPrinter())
        startActivityForResult(new Intent(MainActivity.this, 
ScanningActivity.class), ScanningActivity.SCANNING_FOR_PRINTER);
    else
        printText();
        barcodefield.setText("");
});
*/

barcodefield.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }
    @Override
    public void afterTextChanged(Editable s) {
        for (int i = 0; i < s.length(); i++) {
            if(barcodefield.getText().toString().length() == 13) {
                if (!Printooth.INSTANCE.hasPairedPrinter())
                    startActivityForResult(new Intent(MainActivity.this, ScanningActivity.class), ScanningActivity.SCANNING_FOR_PRINTER);
                else
                    printText();
                    barcodefield.setText("");
            }
        }
    }
});
changePairAndUpair();
 }

 private void changePairAndUpair() {
 if (Printooth.INSTANCE.hasPairedPrinter())
    btn_unpair_pair.setText(new StringBuilder("Unpair           
 ").append(Printooth.INSTANCE.getPairedPrinter().getName()).toString());
 else
     btn_unpair_pair.setText("Pair with Printer");
 }

 @Override
 public void connectingWithPrinter() {
 Toast.makeText(this, "Connectiong to printer", Toast.LENGTH_SHORT).show();
 }

 @Override
 public void connectionFailed(String s) {
 Toast.makeText(this, "Failed: "+s, Toast.LENGTH_SHORT).show();
 }

 @Override
 public void onError(String s) {
 Toast.makeText(this, "Error: "+s, Toast.LENGTH_SHORT).show();

 }

 @Override
 public void onMessage(String s) {
 Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
 }

 @Override
 public void printingOrderSentSuccessfully() {
 Toast.makeText(this, "Order sent to printer", Toast.LENGTH_SHORT).show();
 }

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

 //Original Code
 //printables.add(new RawPrintable.Builder(new byte[]{0x1B,'d', 5}).build()); //     
 FEED 5 LINES WORKING!!!!!!!!
 //printables.add(new RawPrintable.Builder(new byte[]{'L','H', 0x56}).build()); // 
 FEED 10 LINES WORKING!!!!!!!!
 //printables.add(new RawPrintable.Builder(new byte[]{}).build()); // lane for  
 test

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(res.getString(0)+"\n");
    buffer.append(res.getString(1)+"\n");
    buffer.append(res.getString(2)+"\n");
    buffer.append(date+"\n");
    buffer.append("\n");
}
printables.add(new TextPrintable.Builder()
        .setText(buffer.toString()) // Original code
        //.setText(String.valueOf(buffer))
        .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());
//printables.add(new RawPrintable.Builder(new byte[]{0x1B,'d', 5}).build()); // FEED 5 LINES WORKING!!!!!!!!
//printables.add(new RawPrintable.Builder(new byte[]{}).build()); // Line for test
Printooth.INSTANCE.printer().print(printables);

}

我无法阻止它在标签上打印4张与图片所示相同的东西你“可能”运气好,我正好有一台DYMO LabelWriter 400,我会玩一玩,看看能发现什么Hello Friend的我在标签打印机(不是A4大小的纸)上打印条形码。小型打印机(标签打印机)存在打印对齐问题。所以在这里找到了很好的解决方案。这会提示我选择打印机吗?如何使它直接打印到打印机上?还有,我如何让它创建条形码?@RileyChilds 1-是;2-它可以直接打印到打印机上&如果你在谷歌上快速搜索Java条形码生成器,你会发现许多开源库应该可以满足你的需要。我希望它在打印时不使用Diologk,而使用diologless打印!如何将烧烤条形码添加到标签
public class PrintingExample
{

    public static void main(String[] args)
    {
        try
        {
            Barcode b = BarcodeFactory.createCode128("Hello");
            PrinterJob job = PrinterJob.getPrinterJob();
            job.setPrintable(b);
            if (job.printDialog())
            {
                job.print();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

    }

}
    #After a long hour of analysis found 100% solution     
    
    
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.math.BigInteger;
    
    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
    import org.apache.poi.util.Units;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.apache.poi.xwpf.usermodel.XWPFRun;
    import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody;
    import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1;
    import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPageMar;
    import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPageSz;
    import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
    import org.openxmlformats.schemas.wordprocessingml.x2006.main.STPageOrientation;
    
    public class CreateWord {
        public static void main(String[] args) throws FileNotFoundException, IOException {
            XWPFDocument doc = new XWPFDocument();
    
            CTDocument1 document = doc.getDocument();
            CTBody body = document.getBody();
    
            if (!body.isSetSectPr()) {
                body.addNewSectPr();
            }
            CTSectPr section = body.getSectPr();
    
            if (!section.isSetPgSz()) {
                section.addNewPgSz();
            }
    
            if (!section.isSetPgMar()) {
                CTPageMar margin = section.addNewPgMar();
                margin.setTop(BigInteger.valueOf(500));
                margin.setBottom(BigInteger.valueOf(100));
                margin.setLeft(BigInteger.valueOf(0));
                margin.setRight(BigInteger.valueOf(0));
            }
            CTPageSz pageSize = section.getPgSz();
    
            pageSize.setOrient(STPageOrientation.LANDSCAPE);
            pageSize.setW(BigInteger.valueOf(6000));
            pageSize.setH(BigInteger.valueOf(2000));
    
            XWPFParagraph title = doc.createParagraph();
            XWPFRun run = title.createRun();
            // run.setText("Fig.1 A Natural Scene");
            // run.setBold(true);
            // title.setAlignment(ParagraphAlignment.CENTER);
    
            String imgFile = "E:\\barcode.png";
            FileInputStream is = new FileInputStream(imgFile);
            // run.addBreak();
            try {
                run.addPicture(is, XWPFDocument.PICTURE_TYPE_JPEG, imgFile, Units.toEMU(300), Units.toEMU(70));
            } catch (InvalidFormatException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } // 200x200
                // pixels
            is.close();
    
            FileOutputStream fos = new FileOutputStream("E:\\test4.docx");
            doc.write(fos);
            fos.close();
        }
    }


  [1]: https://i.stack.imgur.com/VA0IL.png
  [2]: https://i.stack.imgur.com/9aSv4.png
 package com.example.warehousev3;

 import android.app.Activity;
 import android.content.Intent;
 import android.database.Cursor;
 import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;

 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;

 import com.mazenrashed.printooth.Printooth;
 import com.mazenrashed.printooth.data.printable.Printable;
 import com.mazenrashed.printooth.data.printable.RawPrintable;
 import com.mazenrashed.printooth.data.printable.TextPrintable;
 import com.mazenrashed.printooth.data.printer.DefaultPrinter;
 import com.mazenrashed.printooth.ui.ScanningActivity;
 import com.mazenrashed.printooth.utilities.Printing;
 import com.mazenrashed.printooth.utilities.PrintingCallback;

 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;

 public class MainActivity extends AppCompatActivity implements PrintingCallback {
 DatabaseHelper myDb;
 Button btnPrint, btn_unpair_pair;
 EditText barcodefield = null;

 Printing printing;

 private Calendar calendar;
 private SimpleDateFormat dateFormat;
 private String date;

 private final static char ESC_CHAR = 0x1B; // to be used on esc/pos commands

 @Override
 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

calendar = Calendar.getInstance();
dateFormat = new SimpleDateFormat("dd/MM/yyyy");
date = dateFormat.format(calendar.getTime());

myDb = new DatabaseHelper(this);
btnPrint = findViewById(R.id.cmd_print);
barcodefield = findViewById(R.id.txt_barcode);
btn_unpair_pair = findViewById(R.id.btnPiarUnpair);

btnPrint.setVisibility(View.GONE); //Set Print Button Invisible

viewAll();
}

public void viewAll() {
if (printing != null)
    printing.setPrintingCallback(this);

btn_unpair_pair.setOnClickListener(view -> {
    if (Printooth.INSTANCE.hasPairedPrinter())
        Printooth.INSTANCE.removeCurrentPrinter();
    else {
        startActivityForResult(new Intent(MainActivity.this, ScanningActivity.class), ScanningActivity.SCANNING_FOR_PRINTER);
        changePairAndUpair();
    }
});

/*      //Print Button function
btnPrint.setOnClickListener(view -> {
    if (!Printooth.INSTANCE.hasPairedPrinter())
        startActivityForResult(new Intent(MainActivity.this, 
ScanningActivity.class), ScanningActivity.SCANNING_FOR_PRINTER);
    else
        printText();
        barcodefield.setText("");
});
*/

barcodefield.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    }
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }
    @Override
    public void afterTextChanged(Editable s) {
        for (int i = 0; i < s.length(); i++) {
            if(barcodefield.getText().toString().length() == 13) {
                if (!Printooth.INSTANCE.hasPairedPrinter())
                    startActivityForResult(new Intent(MainActivity.this, ScanningActivity.class), ScanningActivity.SCANNING_FOR_PRINTER);
                else
                    printText();
                    barcodefield.setText("");
            }
        }
    }
});
changePairAndUpair();
 }

 private void changePairAndUpair() {
 if (Printooth.INSTANCE.hasPairedPrinter())
    btn_unpair_pair.setText(new StringBuilder("Unpair           
 ").append(Printooth.INSTANCE.getPairedPrinter().getName()).toString());
 else
     btn_unpair_pair.setText("Pair with Printer");
 }

 @Override
 public void connectingWithPrinter() {
 Toast.makeText(this, "Connectiong to printer", Toast.LENGTH_SHORT).show();
 }

 @Override
 public void connectionFailed(String s) {
 Toast.makeText(this, "Failed: "+s, Toast.LENGTH_SHORT).show();
 }

 @Override
 public void onError(String s) {
 Toast.makeText(this, "Error: "+s, Toast.LENGTH_SHORT).show();

 }

 @Override
 public void onMessage(String s) {
 Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
 }

 @Override
 public void printingOrderSentSuccessfully() {
 Toast.makeText(this, "Order sent to printer", Toast.LENGTH_SHORT).show();
 }

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

 //Original Code
 //printables.add(new RawPrintable.Builder(new byte[]{0x1B,'d', 5}).build()); //     
 FEED 5 LINES WORKING!!!!!!!!
 //printables.add(new RawPrintable.Builder(new byte[]{'L','H', 0x56}).build()); // 
 FEED 10 LINES WORKING!!!!!!!!
 //printables.add(new RawPrintable.Builder(new byte[]{}).build()); // lane for  
 test

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(res.getString(0)+"\n");
    buffer.append(res.getString(1)+"\n");
    buffer.append(res.getString(2)+"\n");
    buffer.append(date+"\n");
    buffer.append("\n");
}
printables.add(new TextPrintable.Builder()
        .setText(buffer.toString()) // Original code
        //.setText(String.valueOf(buffer))
        .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());
//printables.add(new RawPrintable.Builder(new byte[]{0x1B,'d', 5}).build()); // FEED 5 LINES WORKING!!!!!!!!
//printables.add(new RawPrintable.Builder(new byte[]{}).build()); // Line for test
Printooth.INSTANCE.printer().print(printables);
 public void showMessage(String title, String Message) {
 AlertDialog.Builder builder = new AlertDialog.Builder(this);
 builder.setCancelable(true);
 builder.setTitle(title);
 builder.setMessage(Message);
 builder.show();
 }

 @Override
 protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent  
 data) {
 super.onActivityResult(requestCode, resultCode, data);
 if (requestCode == ScanningActivity.SCANNING_FOR_PRINTER && resultCode ==    
 Activity.RESULT_OK)
    initPrinting();
    changePairAndUpair();
 }

 private void initPrinting() {
 if (!Printooth.INSTANCE.hasPairedPrinter())
    printing = Printooth.INSTANCE.printer();
 if (printing != null)
    printing.setPrintingCallback(this);
 }