Mam następujący kod, który pokazuje okno dialogowe drukowania natywnego w mojej aplikacji java.Jak wykryć "Zapisz jako PDF ..." został wybrany z AWT PrinterJob na 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);
}
Ten kod działa poprawnie, gdy jest wybrana drukarka i przycisk Print kliknięciu, ale to nie działa, gdy użytkownik wybierze dowolną opcję z menu „PDF” w lewym dolnym rogu. Metoda getPrintService zwraca ostatnio wybraną drukarkę (Lillith
ze zrzutu ekranu) po wybraniu jednej z opcji w menu "PDF".
Czy ktoś może sugerować, co należy zrobić, aby wykryć, kiedy „Zapisz jako PDF ...” został wybrany w oknie dialogowym drukowania i odpowiednio reagować.
Co zrobić, gdy twój program robi prawdziwą drukarkę, ale wybierz „Zapisz jako PDF ...”? – millimoose
Otrzymuję strony wydrukowane w drukarce i nie zapisano żadnego pliku pdf lub postscript. –
@trashgod Gdzie ten przykład drukuje? – millimoose