ImprimeAutenticacao.java
3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*
**********************************************************************************
* *
* @package URBEM CNM - Soluções em Gestão Pública *
* @copyright (c) 2013 Confederação Nacional de Municípos *
* @author Confederação Nacional de Municípios *
* *
* O URBEM CNM é um software livre; você pode redistribuí-lo e/ou modificá-lo sob *
* os termos da Licença Pública Geral GNU conforme publicada pela Fundação do *
* Software Livre (FSF - Free Software Foundation); na versão 2 da Licença. *
* *
* Este programa é distribuído na expectativa de que seja útil, porém, *
* SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU *
* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU *
* para mais detalhes. *
* *
* Você deve ter recebido uma cópia da Licença Pública Geral do GNU "LICENCA.txt" *
* com este programa; se não, escreva para a Free Software Foundation Inc., *
* no endereço 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* *
**********************************************************************************
*/
/**
* Classe para imprimir Autenticacoes localmente
*
* @author Analista: Lucas Leusin
* @author Desenvolvedor: Cleisson Barboza
* @author Desenvolvedor: Jos� Eduardo Porto
*
* Caso de uso: uc-2.4.15
*
*/
import java.io.*;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
public class ImprimeAutenticacao {
private DocFlavor df = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
private PrintService[] pss;
public String consultarImpressoraDefault() {
PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
try {
return ps.getName();
}catch (Exception e){
return "Selecione";
}
}
public String[] listarImpressoras() {
pss = PrintServiceLookup.lookupPrintServices(df, null);
String[] impressoras = new String[pss.length];
for(int i=0; i<pss.length; i++){
impressoras[i] = pss[i].getName();
}
return impressoras;
}
/**
* Método para imprimir a Autenticacao
*/
public void imprimir(byte[] b, String impressora) {
pss = PrintServiceLookup.lookupPrintServices(df, null);
for (int i=0; i<pss.length; i++){
PrintService ps = pss[i];
if (ps.getName().compareTo(impressora) == 0){
DocPrintJob dpj = ps.createPrintJob();
InputStream stream = new ByteArrayInputStream(b);
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc doc = new SimpleDoc(stream, flavor, null);
try {
dpj.print(doc, null);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
}
}