Tengo el siguiente código que muestra un diálogo de impresión nativa en mi aplicación Java.Cómo detectar el 'Guardar como PDF ...' fue seleccionado de un AWT PrinterJob en OS X
PrinterJob job = PrinterJob.getPrinterJob();
PrintRequestAttributeSet atts = new HashPrintRequestAttributeSet();
atts.add(DialogTypeSelection.NATIVE);
if (job.printDialog(atts))
{
PrintService newlyUsedService = job.getPrintService();
DocPrintJob docJob = newlyUsedService.createPrintJob();
// print the passed javax.print.SimpleDoc object.
docJob.print(simpleDoc, atts);
}
Este código funciona bien cuando se selecciona una impresora y se hace clic en el botón de impresión, pero no funciona cuando el usuario selecciona cualquier opción del menú “PDF” en la parte inferior izquierda. El método getPrintService devuelve la última impresora seleccionada (Lillith
de la captura de pantalla) cuando se selecciona una de las opciones en el menú "PDF".
Podría alguien sugerir lo que debe hacerse para detectar cuando “Guardar como PDF ...” fue seleccionado en el diálogo de impresión y responder en consecuencia.
¿Qué hace el programa cuando se pone la impresora real, sino que selecciona "Guardar como PDF ..."? – millimoose
Obtengo las páginas impresas en la impresora y no se guarda ningún archivo pdf o postscript. –
@trashgod ¿Dónde se imprime ese ejemplo? – millimoose