3rd Party Java API
PDFBox [pdfbox.org] - A library that gives you complete parsing control over PDFs. You can create documents from scratch, extract text, merge pages, change text/images/fields, populate forms, etc. With the use of PDFs in corporate environments on the rise, you just can't go wrong with PDFBox in your toolbox.
>> PDFBox does not scale, it's horrible for server applications that need high load. PDFBox is also a memory hog trying to scale images. I know this cause' I built a massive image processing server and get SLAMMED from using PDFBox during high load. I moved to a System.process ImageMagick native solution to solve this problem.
------------------------------
POI [apache.org] - Does your company use Office documents in any way, shape, or form? Then you need POI. Create spreadsheets and word documents from scratch, modify existing documents, create spreadsheet computers and reports on the fly. The possibiliies are endless, and your boss with thank you for not having to deaL with ANOTHER CSV file.
------------------------------
Is there a way to get a list of windows printers without using native calls?
Look up javax.print.PrintServiceLookup. More Info [sun.com].
Is there a way to print "straight through" to local or network connected printers in Java?
I haven't tried it, but supposedly you can change the DocFlavor to do what you want. In absence of a forced flavor, the system will auto-select the best method.
Is there a way for a java app to trap keypresses when the java app is out of focus, without using a native interface?
No. This is a huge security issue, and is unlikely to ever be included in Java. However, the java.awt.Robot class lets you do stuff like capture a screenshot, send events, etc.
------------------------------