GroupDocs.Signature for .NET 22.6 Release Notes

Major Features

This release contains an important updates for QR Code entities and .Net Framework upgrade. Few changes were made to improve the Digital Signatures appearance with the Chinese charset for the PDF documents. Some adjustments were made on the ordering of the signatures on the Image Documents. Below the list of most notable changes in release of GroupDocs.Signature for .NET 21.6:

  • Implemented ability to specify the order of signature for Spreadsheet, Word process and Image documents.
  • Provided full SVG file type support for image documents and most signature types.
  • Involved a significant optimization of file detection algorithm.
  • Implement adjustment on image preview signature for front-end applications.
  • Fixed a few internal issues.
  • Update the referenced libraries to the latest versions.

Full List of Issues Covering all Changes in this Release

KeySummaryIssue Type
SIGNATURENET-3845Implement standard QR Code WiFi entryFeature
SIGNATURENET-3844Upgrade .Net Framework up to 4.0Improvement
SIGNATURENET-3837Adjust standard QR-Code entities to support empty valuesImprovement
SIGNATURENET-3810Improve ordering signatures for the Image DocumentsImprovement
SIGNATURENET-3838Update the Developers Guide and Use Cases section of GroupDocs.Signature documentationImprovement
SIGNATURENET-3843Chinese strings are not displayed correctly on the PDF Digital SignaturesImprovement

Public Developer Guide examples changes

The following topics from Developer Guide were changed

Sign document with ordering the signatures

Public API and Backward Incompatible Changes

New public enumeration WiFiEncryptionType was added to specify various encryption types for the WiFi QR Code entities

This enumeration keeps supported WiFi encryption types.

New public enumeration

    /// <summary>
    /// Represents WiFi Encryption type.
    /// </summary>
    [Obfuscation(Feature = "internalization", Exclude = true, ApplyToMembers = true)]
    [Flags]
    public enum WiFiEncryptionType
    {
        /// <summary>Represents no encryption WiFi type.</summary>
        None = 0,

        /// <summary>Represents WiFi with the WPA encryption type.</summary>
        WPA = 1,

        /// <summary>Represents WiFi with the WPA-EAP encryption type.</summary>
        WPAEAP = 2,

        /// <summary>Represents WiFi with the WPA/WPA2 encryption type.</summary>
        WPAWPA2 = 3,

        /// <summary>Represents WiFi with the WEP encryption type.</summary>
        WEP = 4,
    }

Public class WiFi was added to provide WiFi QR Code object properties

Class [WiFi] contains following properties to get or set.

The following example demonstrates how to create WiFi QR Code standard entry.

Create QR Code signature with WiFi

public static void Run()
{
    using (Signature signature = new Signature(filePath))
    {
        // create WiFi object
        WiFi wifi  = new WiFi()
        {
            SSID = "GuestNetwork!",
            Encryption = WiFiEncryptionType.WPAWPA2,
            Password = "guest",
            Hidden = false
        };
        // create options
        QrCodeSignOptions options = new QrCodeSignOptions
        {
            EncodeType = QrCodeTypes.QR,
            // setup Data property to SMS instance
            Data = wifi,
            // set right bottom corner
            HorizontalAlignment = HorizontalAlignment.Left,
            VerticalAlignment = VerticalAlignment.Center,
            Width = 100,
            Height = 100,
            Margin = new Padding(10)
        };

        // sign document to file
        signature.Sign(outputFilePath, options);
        Console.WriteLine($"\nSource document signed successfully with {signResult.Succeeded.Count} signature(s).\nFile saved at {outputFilePath}.");
    }
}