throw it against the OS and let the OS decide on how to open it. That's easy, maintenance free and the common way.
final Program p = Program.findProgram("pdf");
p.execute(printFilePath);
The user can then decide if he wants to work with it (e.g. print it) or save it.