Impressão de PDF  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
srsinistro
Thread.start()
[Avatar]

Membro desde: 06/04/2005 13:37:31
Mensagens: 41
Offline

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();
}
}
}


Sr.Sinistro - STG - www.forumstg.cjb.net
Say Sansara... O Tesouro do céu!
[Email] [WWW] [Yahoo!] [MSN]
mark_domi
JavaGuru

Membro desde: 30/01/2004 16:35:03
Mensagens: 247
Offline

PQ vc não usa o JASPERREPORT?

http://programmerexpert.blogspot.com.br/
srsinistro
Thread.start()
[Avatar]

Membro desde: 06/04/2005 13:37:31
Mensagens: 41
Offline

mark_domi wrote:Pq vc não usa o JASPER?


Oi.. desculpa.. nao conheco o JASPER.. porem nao sei se ele pode fazer o que eu preciso.. Vou precisar controlar as bandejas de uma impressora a lazer, pq alguns formularios saem em papel especial e outros em papel normal..
Como eu vi que javax.print tem uma opção para escolher as bandejas que desejo imprimir...

ALGUEM PODE ME AJUDAR... PELO AMOR DE DEUS.. rs...

Sr.Sinistro - STG - www.forumstg.cjb.net
Say Sansara... O Tesouro do céu!
[Email] [WWW] [Yahoo!] [MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team