Pretendo criar um método para forçar corte de papel apos a impressão na impressora térmica 80mm. Peço ajuda em um atributo ou biblioteca que force o corte essa operação. Estou usando java + netbeans 12
Ai esta parte do meu código que imprime numa impressora já selecionada.
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.JobName;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.OrientationRequested;
import javax.swing.JOptionPane;
public class Impressora {
//imprimir na impressora selecionada
public static boolean imprimir(String nomeImpressora, String texto) {
try {
PrintService impress = selectImpress(nomeImpressora);
DocPrintJob dpj = impress.createPrintJob();
// Crie um conjunto de atributos de impressão
PrintRequestAttributeSet atributos = new HashPrintRequestAttributeSet();
// Adicione o atributo de corte de papel
atributos.add(new MediaCutSheet(1));
InputStream is = new ByteArrayInputStream(texto.getBytes());
SimpleDoc sd = new SimpleDoc(is, DocFlavor.INPUT_STREAM.AUTOSENSE,
null);
dpj.print(sd, null);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Não foi possível realizar a impressão !!", "Erro", JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
}
}
O que sucede é que da erro que atributo que estou a tentar adicionar, o java não esta a reconhecer.