GroupDocs.Signature for .NET 23.5 Release Notes

There are one features and six bug fixes in this release.

Full list of changes in this release

KeyCategorySummary
SIGNATURENET-4530★ FeatureImplement searching for signatures within the Archives
SIGNATURENET-4533🔧 FixThe output signed archive contains trial limitations
SIGNATURENET-4531🔧 FixUnexpected border line appearance of Stamp signature when corners set at too big values
SIGNATURENET-4510🔧 FixLine background overlaps border of Stamp signature result
SIGNATURENET-4509🔧 FixThe different border widths of the Stamp Signature appearance
SIGNATURENET-4508🔧 FixUnexpected visual artifacts for Stamp signature appearance
SIGNATURENET-4487🔧 FixWord processing documents are not signed within the archive files

Major Features

This release includes four new archive features and one enhancement:

Implement searching for signatures within the Archives

🌐 The existing class DocumentResultSignature will keep Search sigantures for the result of the particular processed document.

/// <summary>
/// Implement searching for signatures within the Archives
/// </summary>
using (var signature = new Signature(filePath))
{
    // create list of signature options
    var bcOptions = new BarcodeSearchOptions(BarcodeTypes.Code128);
    var qrOptions = new QrCodeSearchOptions(QrCodeTypes.QR);

    // setup search options
    var listOptions = new List<SearchOptions>() { bcOptions, qrOptions };

    // search archive for documents
    var searchResult = signature.Search(listOptions);

    // check the result                
    Console.WriteLine("\nList of successfully processed documents:");
    int number = 1;
    foreach (DocumentResultSignature document in searchResult.Succeeded)
    {
        Console.WriteLine($"Document #{number++}: {document.FileName}. Processed: {document.ProcessingTime}, mls");
        foreach (BaseSignature temp in document.Succeeded)
        {
            Console.WriteLine($"\t\t#{temp.SignatureId}: {temp.SignatureType}");
        }
    }
    if (searchResult.Failed.Count > 0)
    {
        Console.WriteLine("\nList of failed documents:");
        number = 1;
        foreach (DocumentResultSignature document in searchResult.Failed)
        {
            Console.WriteLine($"ERROR in Document #{number++}: {document.FileName}. Processed: {document.ProcessingTime}, mls");
        }
    }
}