GroupDocs.Signature for .NET 24.5 Release Notes

The release of GroupDocs.Signature version 24.5 adds a feature.

Full list of changes in this release

KeyCategorySummary
SIGNATURENET-5105★ FeatureSupport incremental signing of PDF documents with Digital Signatures(PFX) only

Major Features

Added support for incremental signing of PDF documents with Digital Signatures(PFX).

🌐 We improved incremental signing of PDF documents with Digital Signatures (PFX), allowing you to sign and validate your signatures.

            // The path to the documents directory.            
            string filePath = Constants.SAMPLE_PDF;
            string fileName = Path.GetFileName(filePath);

            string [] certificatePaths = new string[] { Constants.CertificatePfx, Constants.CertificatePfx };

            string outputFilePath = Path.Combine(Constants.OutputPath, "SignWithDigitalIncrementalSaving", fileName);
            int iteration = 1;
            string documentFile = filePath;
            foreach (var  certificatePath in certificatePaths)
            {
                using (Signature signature = new Signature(documentFile))
                {
                    DigitalSignOptions options = new DigitalSignOptions(certificatePath)
                    {
                        // certificate password
                        Password = "1234567890",
                        // digital certificate details
                        Reason = $"Approved-{iteration}",
                        Contact = $"John{iteration} Smith{iteration}",
                        Location = $"Location-{iteration}",
                        // no image
                        AllPages = true, 
                        Left = 10 + 100*(iteration-1),
                        Top = 10 + 100 * (iteration - 1),
                        Width = 160,
                        Height = 80,                        
                        Margin = new Padding() { Bottom = 10, Right = 10 }
                    };

                    SignResult signResult = signature.Sign(outputFilePath, options);
                    documentFile = outputFilePath;
                    Console.WriteLine($"\nSource document signed successfully {iteration++}-time with {signResult.Succeeded.Count} signature(s).\nFile saved at {outputFilePath}.");
                }
            }