Пример #1
0
        public void Sign(string sigReason, string sigContact, string sigLocation, bool visible)
        {
            PdfReader reader = new PdfReader(inputPDF);
            //Activate MultiSignatures
            PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0', null, true);

            //To disable Multi signatures uncomment this line : every new signature will invalidate older ones !
            //PdfStamper st = PdfStamper.CreateSignature(reader, new FileStream(outputPDF, FileMode.Create, FileAccess.Write), '\0');

            st.MoreInfo    = metadata.GetMetaData();
            st.XmpMetadata = metadata.GetStreamedMetaData();
            PdfSignatureAppearance sap = st.SignatureAppearance;

            sap.SetCrypto(myCert.Akp, myCert.Chain, null, PdfSignatureAppearance.WINCER_SIGNED);
            sap.Reason   = sigReason;
            sap.Contact  = sigContact;
            sap.Location = sigLocation;
            if (visible)
            {
                sap.SetVisibleSignature(new iTextSharp.text.Rectangle(100, 100, 250, 150), 1, null);
            }

            st.Close();
        }