When you require that the first signature on the document must be valid when open the file, I assume you foremost talk about opening in a current Adobe Reader version.
In that case you first of all must be aware that the allowed and disallowed changes depend on the first signature itself. Have a look at this answer for information on "Allowed and disallowed changes" as considered by Adobe since version 9 of its Acrobat & Reader.
Thus, to take a signed pdf and stamp an image on all pages and also add another signature and not invalidate (in the eyes of Adobe software) the initial signature in the process, that signed pdf must
either be uncertified (i.e. the initial signature is merely an approval signature)
or be Certified with annotations, form fill-in, and digital signatures, allowed (i.e. the initial signature is a certification signature with those types of changes allowed) and have an empty signature field for you to put your signature into.
If that signed pdf already contains multiple signatures, neither of them by means of Locking information shall have added any additional restrictions.
(Furthermore I assume the PDF neither is encrypted nor does contain dynamic XFA forms; that would complicate things even more.)
If these requirements are fulfilled, you can use a PdfStamper
you retrieve from the static PdfStamper
method
public static PdfStamper CreateSignature(PdfReader reader, Stream os, char pdfVersion, string tempFile, bool append)
where the final bool
parameter value must be true
(i.e. you must work in append mode to not invalidate the initial signature).
Using this PdfStamper
you add your image on the document pages by means of annotations. The iText in Action — 2nd Edition sample TimetableAnnotations3.java / TimetableAnnotations3.cs illustrates how to add annotations with PdfStampers.
Then you add your signature as usual, either creating a new signature field or using an empty one. You find details on the signing process in the whitepaper Digital Signatures for PDF documents; C# samples equivalent to the Java samples in that white paper can be found here on sourceforge.
PS: I always stressed in the eyes of Adobe software in this post. When talking about certified PDFs Adobe is pretty near to the PDF standard here. For signed but uncertified PDFs Adobe applies rules analogous to those specified for certified documents.