Let's face it, PDFs have become the defacto standard for sharing documents with your employees and customers. The problem comes in when you want to automatically generate things like invoices, quotations, etc. programmatically. I am constantly playing with PDFs at my day job as all of our drawings are converted to that format. It is not unusual for me to want to do things like watermark and resize these documents. When I want to do these kinds of things I turn to a few different libraries depending on what environment I am currently in. Here are a list of the libraries I am currently using:
1. Perl - PDF::API2
2. Java - Itext
3. .NET - ITextSharp
With these libraries on your side PDF manipulation ceases to be a chore and becomes fun (OK, well tolerable then).