iTextSharp.text.pdf.AcroFields.GetSignatureDictionary C# (CSharp) Метод

GetSignatureDictionary() публичный Метод

public GetSignatureDictionary ( String name ) : PdfDictionary
name String
Результат PdfDictionary
        public PdfDictionary GetSignatureDictionary(String name) {
            FindSignatureNames();
            name = GetTranslatedFieldName(name);
            if (!sigNames.ContainsKey(name))
                return null;
            Item item = (Item)fields[name];
            PdfDictionary merged = item.GetMerged(0);
            return merged.GetAsDict(PdfName.V);
        }
        

Usage Example

Пример #1
0
        public static SignaturePermissions InspectSignature(AcroFields fields, String name, SignaturePermissions perms)
        {
            IList<AcroFields.FieldPosition> fps = fields.GetFieldPositions(name);
            if (fps != null && fps.Count > 0)
            {
                AcroFields.FieldPosition fp = fps[0];
                Rectangle pos = fp.position;
                if (pos.Width == 0 || pos.Height == 0)
                {
                    Console.WriteLine("Invisible signature");
                }
                else
                {
                    Console.WriteLine("Field en página {0}; llx: {1}, lly: {2}, urx: {3}; ury: {4}",
                        fp.page, pos.Left, pos.Bottom, pos.Right, pos.Top);
                }
            }
            PdfPKCS7 pkcs7 = fields.VerifySignature(name);
            Console.WriteLine("Algoritmo de Digest: " + pkcs7.GetHashAlgorithm());
            Console.WriteLine("Algoritmo Encripción: " + pkcs7.GetEncryptionAlgorithm());
            Console.WriteLine("Filter subtype: " + pkcs7.GetFilterSubtype());
            X509Certificate cert = pkcs7.SigningCertificate;
            Console.WriteLine("Nombre del firmante: " + CertificateInfo.GetSubjectFields(cert).GetField("CN"));
            if (pkcs7.SignName != null)
                Console.WriteLine("Nombre Alternativo del firmante: " + pkcs7.SignName);

            Console.WriteLine("Firmado en: " + pkcs7.SignDate.ToString("yyyy-MM-dd HH:mm:ss.ff"));
            if (!pkcs7.TimeStampDate.Equals(DateTime.MaxValue))
            {
                Console.WriteLine("TimeStamp: " + pkcs7.TimeStampDate.ToString("yyyy-MM-dd HH:mm:ss.ff"));
                TimeStampToken ts = pkcs7.TimeStampToken;
                Console.WriteLine("TimeStamp service: " + ts.TimeStampInfo.Tsa);
                Console.WriteLine("Timestamp verificado? " + pkcs7.VerifyTimestampImprint());
            }
            Console.WriteLine("Ubicación: " + pkcs7.Location);
            Console.WriteLine("Motivo: " + pkcs7.Reason);
            PdfDictionary sigDict = fields.GetSignatureDictionary(name);
            PdfString contact = sigDict.GetAsString(PdfName.CONTACTINFO);
            if (contact != null)
                Console.WriteLine("Datos de contacto: " + contact);
            perms = new SignaturePermissions(sigDict, perms);
            Console.WriteLine("Tipo de firma: " + (perms.Certification ? "certification" : "approval"));
            //Console.WriteLine("Filling out fields allowed: " + perms.FillInAllowed);
            //Console.WriteLine("Adding annotations allowed: " + perms.AnnotationsAllowed);
            foreach (SignaturePermissions.FieldLock Lock in perms.FieldLocks)
            {
                Console.WriteLine("Lock: " + Lock);
            }
            return perms;
        }
All Usage Examples Of iTextSharp.text.pdf.AcroFields::GetSignatureDictionary