Desktop API в AWT использует встроенную функциональность системы (в данном случае Windows.) JVM, вероятно, вызывает ShellExecute / ShellExecuteEx для файла с помощью команды «print».Windows обрабатывает эту команду, выполняя поиск в реестре команды печати типа файла и выполняя ее.Для большинства типов файлов это приведет к открытию приложения, которое будет обрабатывать его, а затем автоматически выполнять команду печати.
Короче говоря, я не думаю, что вы сможете использовать Desktop API, не имеяприложения открываются.Вам нужно было бы сделать всю печать самостоятельно (что, конечно, очень сложно.)