Add signature on each page
Sunday, March 17, 2019 at 07:58amHi
please suggest that how we can add signature field on each page of multiple documents page using .net sdk
thanks
OneSpan Introduces DigipassONE, Bringing a Unified Platform Approach to Authentication Modernization
A new authentication platform helps financial institutions support diverse customer authentication preferences while modernizing at their own pace Learn More
Reply to: Add signature on each page
Sunday, March 17, 2019 at 09:45amReply to: Add signature on each page
Sunday, March 17, 2019 at 09:29amEslClient eslClient = new EslClient(API_KEY, API_URL); string signer1Email = "[email protected]"; string signer2Email = "[email protected]"; string document1ID = "document1"; //1.if you know the number of pages int numOfPage = 18; PackageBuilder packageBuilder1 = PackageBuilder.NewPackageNamed("Example Package " + System.DateTime.Now) .WithSigner(SignerBuilder.NewSignerWithEmail(signer1Email) .WithFirstName("John") .WithLastName("Smith") ) .WithSigner(SignerBuilder.NewSignerWithEmail(signer2Email) .WithFirstName("Marry") .WithLastName("Doe")) ; DocumentBuilder documentBuilder1 = DocumentBuilder.NewDocumentNamed(document1ID) .FromFile("your_file_path\\18pages - Copy - Copy.pdf"); for (int curPage = 0; curPage numOfPage ; curPage++) { documentBuilder1.WithSignature(SignatureBuilder.SignatureFor(signer1Email) .OnPage(curPage) .AtPosition(100, 100) ); } packageBuilder1.WithDocument(documentBuilder1); PackageId packageId1 = eslClient.CreatePackageOneStep(packageBuilder1.Build()); eslClient.SendPackage(packageId1); //2. if you don't know the number of pages DocumentPackage pkg2 = PackageBuilder.NewPackageNamed("Example Package2 " + System.DateTime.Now) .WithSigner(SignerBuilder.NewSignerWithEmail(signer1Email) .WithFirstName("John") .WithLastName("Smith") ) .WithSigner(SignerBuilder.NewSignerWithEmail(signer2Email) .WithFirstName("Marry") .WithLastName("Doe")) .WithDocument(DocumentBuilder.NewDocumentNamed(document1ID) .WithId(document1ID) .FromFile("your_file_path\\18pages - Copy - Copy.pdf") ) .Build(); PackageId createPackageOneStep = eslClient.CreatePackageOneStep(pkg2); Debug.WriteLine("package id: " + createPackageOneStep); pkg2 = eslClient.GetPackage(createPackageOneStep); Document doc1 = pkg2.GetDocument(document1ID); Debug.WriteLine("number of pages: " + doc1.NumberOfPages); IList signatures = new List();
for (int curPage = 0; curPage doc1.NumberOfPages; curPage++)
{
signatures.Add(SignatureBuilder.SignatureFor(signer1Email)
.OnPage(curPage)
.AtPosition(100, 100)
.Build()
);
}
eslClient.ApprovalService.UpdateApprovals(pkg2, document1ID, signatures);
eslClient.SendPackage(createPackageOneStep); Hope this could help! DuoReply to: Add signature on each page
Sunday, March 17, 2019 at 10:05amDocumentBuilder documentBuilder1.WithSignature(SignatureBuilder.SignatureFor(signer1Email) .OnPage(curPage) .AtPosition(0, 1030 - 30) .WithSize(50,30) );Again, the size (796*1030) was based on a normal size of PDF page, please adjust to your case if you are using a different size. Or you want to calculate depending on the uploaded document, there could be some additional customized codes to do so. DuoReply to: Add signature on each page
Sunday, March 17, 2019 at 10:07amReply to: Add signature on each page
Sunday, March 17, 2019 at 10:32am//2. if you don't know the number of pages DocumentPackage pkg2 = PackageBuilder.NewPackageNamed("Example Package2 " + System.DateTime.Now) .WithSigner(SignerBuilder.NewSignerWithEmail(signer1Email) .WithFirstName("John") .WithLastName("Smith") ) .WithSigner(SignerBuilder.NewSignerWithEmail(signer2Email) .WithFirstName("Marry") .WithLastName("Doe")) .WithDocument(DocumentBuilder.NewDocumentNamed(document1ID) .WithId(document1ID) .FromFile("your_file_path\\test-3 (2).pdf") ) .Build(); PackageId createPackageOneStep = eslClient.CreatePackageOneStep(pkg2); Debug.WriteLine("package id: " + createPackageOneStep); pkg2 = eslClient.GetPackage(createPackageOneStep); Document doc1 = pkg2.GetDocument(document1ID); Debug.WriteLine("number of pages: " + doc1.NumberOfPages); Dictionary pageSizes = GetPageSizeByDocId(API_KEY, API_URL, createPackageOneStep.Id, document1ID);
IList signatures = new List();
for (int curPage = 0; curPage doc1.NumberOfPages; curPage++)
{
JObject pageJObject = pageSizes[curPage];
String heightString = (String)pageJObject["height"];
int height = Int32.Parse(heightString);
Debug.WriteLine("current page: " + curPage + "; height: " + height);
signatures.Add(SignatureBuilder.SignatureFor(signer1Email)
.OnPage(curPage)
.AtPosition(0, height - 30)
.WithSize(50, 30)
.Build()
);
}
eslClient.ApprovalService.UpdateApprovals(pkg2, document1ID, signatures);
eslClient.SendPackage(createPackageOneStep); Reply to: Add signature on each page
Monday, March 18, 2019 at 07:42amReply to: Add signature on each page
Monday, March 18, 2019 at 07:56amReply to: Add signature on each page
Monday, March 18, 2019 at 08:25amDocument document = DocumentBuilder.NewDocumentNamed("Example Document") .WithName("Updated document name") .WithDescription("Updated document description") .Build(); eslClient.PackageService.UpdateDocumentMetadata(documentPackage, document);but if you wanted to update anything related to signature/fields, you'd update signature/approval level instead (again, you can Grab the existing signature object, do the changes then update vs Rebuilt the object then update), which is documented in Signatures guide:Signature updatedSignature = SignatureBuilder.CaptureFor("[email protected]") .OnPage(0) .AtPosition(215, 510) .WithSize(300, 50) .WithId(new SignatureId("signature1")) .Build(); IList signatures = new List();
signatures.Add(updatedSignature);
DocumentPackage updatedPackage = client.GetPackage(packageId);
client.ApprovalService.UpdateApprovals(updatedPackage, documentId, signatures); Hope this could help! DuoReply to: Add signature on each page
Friday, March 22, 2019 at 07:22amReply to: Add signature on each page
Friday, March 22, 2019 at 08:59amReply to: Add signature on each page
Thursday, April 18, 2019 at 08:54amReply to: Add signature on each page
Thursday, April 18, 2019 at 09:55amReply to: Add signature on each page
Friday, April 19, 2019 at 08:02amReply to: Add signature on each page
Friday, April 19, 2019 at 08:16amReply to: Add signature on each page
Saturday, April 20, 2019 at 10:00amReply to: Add signature on each page
Tuesday, April 23, 2019 at 06:09am{{esl:signer1:SigningDate:size(100,50)}}To note, signer1 was the Role Name of your signer and it's case sensitive (if you didn't set the role name, OneSpan Sign will trying to search the Role ID) DuoReply to: Add signature on each page
Thursday, April 25, 2019 at 09:54amReply to: Add signature on each page
Thursday, April 25, 2019 at 10:49amReply to: Add signature on each page
Friday, April 26, 2019 at 09:37amReply to: Add signature on each page
Friday, April 26, 2019 at 09:51amReply to: Add signature on each page
Friday, April 26, 2019 at 11:04amReply to: Add signature on each page
Saturday, April 27, 2019 at 09:04amReply to: Add signature on each page
Monday, April 29, 2019 at 08:49amReply to: Add signature on each page
Tuesday, April 30, 2019 at 06:47am