Due soluzioni, ma entrambe aprono l'acrobat.

scarichi il package

https://jdic.dev.java.net/

jdic che offre alcune interessanti funzionalità, e te ne esci così:

https://jdic.dev.java.net/nonav/docu...top.html#print(java.io.File)

Oppure implementi qualcosa del genere:

codice:
public static void printPDF(String pFile, String pPrinter)
    {
        final String PATH_ADOBE_READER = "D:/Programmi/Adobe/Acrobat Reader 7.0/Reader/AcroRd32.exe";
        final String ADOBE_READER_PRINT_COMMAND = "/p /h";
        final String SLASH = "/";
        final String QUOTE = "\"";
        final String SPACE = " ";

        // Command to be executed
        String lCommand = "\"" + PATH_ADOBE_READER +"\" /h /p \"" + pFile + "\" \"" + pPrinter + "\"";
        /*String lCommand = QUOTE + PATH_ADOBE_READER + QUOTE + SPACE +
                           ADOBE_READER_PRINT_COMMAND + SPACE  +
                           QUOTE + pFile + QUOTE + SPACE +
                           QUOTE + pPrinter + QUOTE;*/

        System.out.println("[printPDF] Command to be executed : " + lCommand);

        Process lAdobeBackGroundProcess = null;
        Process lAdobeProcess = null;

        try
        {
            // Must create a background Adobe Reader process (don't ask why, just do it;-)
            lAdobeBackGroundProcess = Runtime.getRuntime().exec(PATH_ADOBE_READER);

            // Execute the Adobe Reader command "/t" (print and terminate)
            lAdobeProcess = Runtime.getRuntime().exec(lCommand);

            // Wait for Adobe Reader to complete
            int exitVal = lAdobeProcess.waitFor();
            if ( exitVal != 0 )
            {
                throw new Exception("[printPDF] Adobe Reader process exitVal : " + exitVal);
            }
        }
        catch (Exception e)
        {
            System.err.println("[printPDF] Error printing PDF : " + pFile);
            e.printStackTrace();
        }
        finally
        {
            if (lAdobeBackGroundProcess != null)
            {
                lAdobeBackGroundProcess.destroy();
                lAdobeBackGroundProcess = null;
            }
        }
    }
Dove magari in fase di installazione/configurazione dell'applicazione fai andare a pescare il percorso ad Acrobat all'utente.

Ciao.