This is a supplement to @Dennis' answer of 18:06 30 Jul 2012.
He certainly addresses the harder case.
In the simplest case where the watermark is simple, unadorned text, for example
Smedley For Commissioner
the uncompressed PDF watermarks might be defined like this:
75.96 625 Td
(Smedley For Commissioner)Tj
75.96 is the horizontal offset and
625 the vertical offset for this particular watermark instance. (Yes, both real numbers and integers may be seen.)
A regexp like the following will work for all such watermarks, ignoring any variations in their placement:
^BT\n[0-9.]+ [0-9.]+ Td\n\(Smedley For Commissioner\)Tj\nET\n
Be aware, tho, that a variety of modifying PDF operators can come into play with watermarks that have more complicated formatting. Such fanciness can transform what the reader expects (hopes?) to be a contiguous, easily-searched-for string into a mess of alphabet soup. For example,
E1 = mc² by Smedley™
Might be the product of this:
75.96 625 Td
( = mc)Tj
. . . or far worse if your watermark is color-enhanced!
Having noted all this, I will also noted that PDFtk has a GUI version that purports to handle watermarks, in consideration of a $4 licensing fee. Not pricey at all!
On the other hand, I find its website currently advertises full support for O/S's through
Windows 8 and
OS X 10.8 Mountain Lion. That vintage is over 4 years ago. Might PDFtk be getting outdated? I suspect not, but I don't know.