public Imprime(String nomeArquivo, String pMode,String Impressora) {
try {
File arquivo = new File(nomeArquivo);
String retorno = "";
StringBuffer sb = new StringBuffer();
FileReader reader = new FileReader(arquivo);
int c;
do
{
c = reader.read ();
if(c!=-1)
{
sb.append( (char)c );
}
}
while (c != -1); reader.close();
retorno = sb.toString();
InputStream is = new ByteArrayInputStream(retorno.getBytes());
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
if (pMode != null && pMode.equalsIgnoreCase("TXT"))
;
else if (pMode != null && pMode.equalsIgnoreCase("PS"))
flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT ;
else if (pMode != null && pMode.equalsIgnoreCase("PDF"))
flavor = DocFlavor.INPUT_STREAM.PDF;
else if (pMode != null && pMode.equalsIgnoreCase("JPG"))
flavor = DocFlavor.INPUT_STREAM.JPEG;
else if (pMode != null && pMode.equalsIgnoreCase("GIF"))
flavor = DocFlavor.INPUT_STREAM.GIF;
else if (pMode != null && pMode.equalsIgnoreCase("PNG"))
flavor = DocFlavor.INPUT_STREAM.PNG;
else if (pMode != null && pMode.equalsIgnoreCase("PCL"))
flavor = DocFlavor.INPUT_STREAM.PCL ;
else if (pMode != null && pMode.equalsIgnoreCase("RAW"))
flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
for(int k = 0;k< services.length;k++){
if(services[k].getName().trim().toUpperCase().equalsIgnoreCase(Impressora.trim().toUpperCase())){
Doc doc1 = new SimpleDoc(is, flavor, null);
DocPrintJob printJob = services[k].createPrintJob();
printJob.print(doc1, (PrintRequestAttributeSet)aset);
break;
}
}
is.close();
arquivo.delete();
} catch (IOException e) {
gravaLogErro(e.getMessage());
e.printStackTrace();
} catch (Exception e) {
gravaLogErro(e.getMessage());
e.printStackTrace();
} finally {
try {
synchronized (Impressora.this) {
PrintJobDone = true;
Impressora.this.notify();
}
} catch (Exception e) {
gravaLogErro(e.getMessage());
e.printStackTrace();
}
}
}
Alguem ai pode ajudar???
Desde ja agradeco..