Tenho um código de impressão, que recebe os dados de um servlet,
está tudo funcionando corretamente.
A minha dúvida é a seguinte, como posso mudar o nome do documento, que aparece na janela do spool da impressora?
No meu caso, aparece "My Document", mas quando eu faço um teste com o Jasper, utilizando o applet de impressão dele, aparece "Java Printing".
Criei um novo parâmetro no meu HashPrintRequestAttributeSet(), utilizando a classe JobName, mas também não deu certo.
Estou postando o código, caso alguém tenha interesse.
Obrigado pela ajuda
Gabriel Fairbanks
=============================================import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.JobName;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.OrientationRequested;
public class ImprimirApplet {
private String dadosImpressao = "";
public ImprimirApplet(
String dados,
PrintService[] impressoras,
int numImpressora) {
setDadosImpressao(dados);
DocFlavor myFormat = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc myDoc =
new SimpleDoc(getDadosImpressao().getBytes(), myFormat,null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(OrientationRequested.PORTRAIT);
aset.add(MediaSizeName.ISO_A4);
aset.add(new JobName("Teste",null));
DocPrintJob job = impressoras[numImpressora].createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException pe) {
System.out.println(pe);
}
}
public String getDadosImpressao() {
return recuperaDados(dadosImpressao);
}
public void setDadosImpressao(String string) {
dadosImpressao = string;
}
public String recuperaDados(String dados) {
return dados;
}
}