Ejemplo n.º 1
0
 /// <summary>
 /// Initialize the PDF signature field.
 /// </summary>
 private void InitSignatureField(PdfStamper stamper)
 {
     if (_acroFieldsWorker.HasSignatureField(SignatureFieldName))
     {
         _signatureAppearance.SetVisibleSignature(SignatureFieldName);
     }
     else
     {
         if (!string.IsNullOrWhiteSpace(SignatureFieldName) &&
             _acroFieldsWorker.HasField(SignatureFieldName))
         {
             var textField = _acroFieldsWorker.FieldLocationByName(SignatureFieldName);
             _signatureAppearance.SetVisibleSignature(
                 textField.Rectangle, textField.Page,
                 _signatureAppearance.GetNewSigName()
                 );
             stamper.FormFlattening = true;
             stamper.PartialFormFlattening(SignatureFieldName);
         }
         else if (SignatureBox != null)
         {
             _signatureAppearance.SetVisibleSignature(
                 SignatureBox,
                 // reader.NumberOfPages,
                 1,
                 _signatureAppearance.GetNewSigName()
                 );
             stamper.FormFlattening = true;
             // stamper.PartialFormFlattening(SignatureFieldName);
         }
         else
         {
             throw new InvalidOperationException("field does not exist");
         }
     }
 }