Free Support Forum - groupdocs.com

Multiple Signatures


#1

Hi,

How do you accomplish multiple signatures on a document for a single user? There is only one signature box provided. Also, what if there are boxes to initial on each page? How do you initial those? The signature feature needs to be more flexible for our API use.


#2

Hello,


Thank you for your request. Yes, you can add signature fields as many as you need. To add them just create several SignatureEnvelopeFieldSettingsInfo objects with different properties. and then make API requests for each field object to add this field to the document. Please check this code example for how to:
//Create first signature field
$signFieldEnvelopSettings1 = new SignatureEnvelopeFieldSettingsInfo();
$signFieldEnvelopSettings1->locationX = “0.15”;
$signFieldEnvelopSettings1->locationY = “0.73”;
$signFieldEnvelopSettings1->locationWidth = “150”;
$signFieldEnvelopSettings1->locationHeight = “50”;
$signFieldEnvelopSettings1->name = “test” . rand(0, 500);
$signFieldEnvelopSettings1->forceNewField = true;
$signFieldEnvelopSettings1->page = “1”;
$signFieldEnvelopSettings1->lockDuringSign = false;
$addEnvelopField1 = $signature->AddSignatureEnvelopeField($clientID, $envelop->result->envelope->id, $getDocuments->result->documents[0]->documentId, $recipientId, “0545e589fb3e27c9bb7a1f59d0e3fcb9”, $signFieldEnvelopSettings1);
//Create second signature field
$signFieldEnvelopSettings2 = new SignatureEnvelopeFieldSettingsInfo();
$signFieldEnvelopSettings2->locationX = “0.35”;
$signFieldEnvelopSettings2->locationY = “0.30”;
$signFieldEnvelopSettings2->locationWidth = “150”;
$signFieldEnvelopSettings2->locationHeight = “50”;
$signFieldEnvelopSettings2->name = “test” . rand(0, 500);
$signFieldEnvelopSettings2->forceNewField = true;
$signFieldEnvelopSettings2->page = “1”;
$signFieldEnvelopSettings2->lockDuringSign = false;
$addEnvelopField2 = $signature->AddSignatureEnvelopeField($clientID, $envelop->result->envelope->id, $getDocuments->result->documents[0]->documentId, $recipientId, “0545e589fb3e27c9bb7a1f59d0e3fcb9”, $signFieldEnvelopSettings2);

As for initial boxes - if we understand you correct you need to add single line text field where user will put his initials. To add such field you should create same field settings object as for signature field (make sure the field position will be different from other fields) and add it to the document as regular signature field but with different field guid. Please check this code example for how to:
//Create text field for initials
$signFieldEnvelopSettings3 = new SignatureEnvelopeFieldSettingsInfo();
$signFieldEnvelopSettings3->locationX = “0.75”;
$signFieldEnvelopSettings3->locationY = “0.32”;
$signFieldEnvelopSettings3->locationWidth = “150”;
$signFieldEnvelopSettings3->locationHeight = “50”;
$signFieldEnvelopSettings3->name = “test” . rand(0, 500);
$signFieldEnvelopSettings3->forceNewField = true;
$signFieldEnvelopSettings3->page = “1”;
$signFieldEnvelopSettings3->lockDuringSign = false;
$addEnvelopField = $signature->AddSignatureEnvelopeField($clientID, $envelop->result->envelope->id, $getDocuments->result->documents[0]->documentId, $recipientId, “9076032ef020d8790d25dcef48d38d45”, $signFieldEnvelopSettings3);

Please note that in this case you use such field guid - 9076032ef020d8790d25dcef48d38d45 and you should use the same field guid for your text fields.

As you can see from this screenshot we have added two signature fields and one text field.