03/02/2023 - ZioCrick ha scritto:
sto utilizzando PrinterJob.printDialog per stampare da Java.
Qualcuno sa dirmi se e come si possa fare ad impostare la cartella di default del printDialog?
Sì si può. Devi usare l'altro printDialog, quello che riceve un PrintRequestAttributeSet.
File out = new File("C:\\blabla\\output.prn");
PrintRequestAttributeSet attrSet = new HashPrintRequestAttributeSet();
attrSet.add(new Destination(out.toURI()));
// .....
job.printDialog(attrSet);
Attenzione, il printDialog() senza argomenti usa direttamente la dialog nativa. Mentre printDialog(PrintRequestAttributeSet) usa per default una dialog “cross platform” fatta in Java. Ma si può impostare di nuovo quella nativa con:
attrSet.add(DialogTypeSelection.NATIVE);
Si possono settare molti altri attributi, basta guardare la interfaccia Attribute e le tante implementazioni predefinite.
Nota: se si imposta il Destination, il checkbox “Print To File” è già marcato. Non so se si possa evitare, dovrei andare a spulciare tutti gli attributi per vedere se ce n'è uno utile.