Fala Galera…
Estou com um problema e gostaria muito da ajuda de vcs.
Com esta classe abaixo consigo imprimir PNG e um TXT porem nao consigo imprimir um arquvivo PDF.
Para um PNG troco a linha
DocFlavor fl = DocFlavor.INPUT_STREAM.PNG;
e para um TXT troco a linha
DocFlavor fl = DocFlavor.INPUT_STREAM.AUTOSENSE;
porem se trocar para
DocFlavor fl = DocFlavor.INPUT_STREAM.PDF;
dah a seguinte mensagem de erro
sun.print.PrintJobFlavorException: invalid flavor
at sun.print.Win32PrintJob.print(Unknown Source)
at com.pciims.teste.TesteImpressao2.main(TesteImpressao2.java:59)
Vai o codigo ai:
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
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 TesteImpressao2 {
PrintService ps;
DocPrintJob dpj;
public static void main(String a[]) throws FileNotFoundException {
TesteImpressao2 imprime = new TesteImpressao2();
//String teste = "\\\\pci-03\\Epson FX-2180";
String teste = "\\\\pci-server\\hp LaserJet 1000 DOS";
//String teste = "\\\\pci-server\\hp LaserJet 1000";
//DocFlavor df = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
DocFlavor df = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
PrintService[] pss = PrintServiceLookup.lookupPrintServices(df,null);
for(int i=0; i<pss.length; i++){
imprime.ps = pss[i];
System.out.println(imprime.ps.getName());
if(imprime.ps.getName().compareTo(teste) == 0){
imprime.dpj = imprime.ps.createPrintJob();
}
}
InputStream stream = new BufferedInputStream(new FileInputStream("C:/arq.pdf"));
//DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
DocFlavor fl = DocFlavor.INPUT_STREAM.PDF;
Doc doc = new SimpleDoc(stream, fl, null);
try {
imprime.dpj.print(doc, null);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
[size=“11”][color=“red”]* Editado: Cara, pelo amor de Deus, USE BBCODE nos teus códigos![/color][/size]