boa tarde
Eu consigo mandar comandos postcript amtes de imprimir usando uma classe de impressão porem alguem sabe como eu faço o comando de Cor so na primeira pagina e o restante sera preto normal.
ou seja leio uma pasta com arquivos PDF mando tudo para impressora so que todas primeiras paginas chegarão na impressora pedindo Rosa e o restante do documento normal.
Quando eu uso o media color funciona para o documento imteiro
import java.io.*;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintPS {
public static void main(String args[]) {
PrintPS ps = new PrintPS();
}
public PrintPS() {
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet aset
= new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.ISO_A4);
//aset.add(new Copies(2));
aset.add(Sides.Duplex);
aset.add(Sides.TWO_SIDED_LONG_EDGE);
aset.add(Finishings.STAPLE);
PrintService[] pservices =
PrintServiceLookup.lookupPrintServices(flavor, aset);
if (pservices.length > 0) {
System.out.println(?selected printer ? +
pservices[0].getName());
DocPrintJob pj = pservices[0].createPrintJob();
try {
/
FileInputStream fis = new FileInputStream(?d:\\Dados\\out\\PDFd?);
Doc doc = new SimpleDoc(fis, flavor, null);
pj.print(doc, aset);
} catch (IOException ie) {
System.err.println(ie);
} catch (PrintException e) {
System.err.println(e);
}
}
}
}
Desta forma não serve
public void actionPerformed(ActionEvent e) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
/* The job did not successfully complete */
}
}
}
public PrintUIWindow(JFrame f) {
frameToPrint = f;
}
public static void main(String args[]) {
UIManager.put("swing.boldMetal", Boolean.FALSE);
JFrame f = new JFrame("Print UI Example");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JTextArea text = new JTextArea(50, 20);
for (int i=1;i<=50;i++) {
text.append("Line " + i + "\n");
}
JScrollPane pane = new JScrollPane(text);
pane.setPreferredSize(new Dimension(250,200));
f.add("Center", pane);
JButton printButton = new JButton("Print This Window");
printButton.addActionListener(new PrintUIWindow(f));
f.add("South", printButton);
f.pack();
f.setVisible(true);
}
}
aset.add(Mediacolor.Pink);