Personal to do the printing on a printer Diebold I am using the following code:
DocFlavor docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
// Atributos de impressão do documento
HashDocAttributeSet attributes = new HashDocAttributeSet();
// InputStream apontando para o conteúdo a ser impresso
FileOutputStream fil = new FileOutputStream("c.txt");
PrintStream p = new PrintStream(fil);
for (String keyItem : lista.keySet()) {
p.print(keyItem + ": " + lista.get(keyItem).size() + " \n\b");
}
p.print(" \n\b");
p.print("Total: " + lista.size() + (char) 27 + 'w');
FileInputStream fi = new FileInputStream("c.txt");
// Cria um Doc para impressão a partir do arquivo exemplo.txt
Doc documentoTexto = new SimpleDoc(fi, docFlavor, attributes);
// Configura o conjunto de parametros para a impressora
PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();
boolean mostrarDialogo = false;
System.out.println(mostrarDialogo);
if (mostrarDialogo) {
// exibe um dialogo de configuracoes de impressao
PrintService servico = ServiceUI.printDialog(null, 320, 240,
controller.getConfiguracaoLocalController().getListaImpressora().getListaImpressora(), recebeImpressora, docFlavor, printerAttributes);
if (servico != null) {
DocPrintJob printJob = servico.createPrintJob();
printJob.print(documentoTexto, printerAttributes);
}
} else {
// Cria uma tarefa de impressão
DocPrintJob printJob = recebeImpressora.createPrintJob();
// Adiciona propriedade de impressão: imprimir duas cópias
printerAttributes.add(new Copies(1));
// Imprime o documento sem exibir uma tela de dialogo
printJob.print(documentoTexto, printerAttributes);
}
My problem is, I can not increase the font size, I can not change the font, and I'm forced to create a txt file to send to print. Can I do it any other way? I use printable here, but I could not make it work in DIEBOLD, even installing as a printer generic