Latest release (June 2025)

The release of GroupDocs.Signature version 25.6 adds new features and enhancements.

Full list of changes in this releasex

KeyCategorySummary
SIGNATURENET-5445★ FeatureAdaptive rendering for Barcode and QR Code signature previews
SIGNATURENET-5479★ FeatureSupport for rotation in Barcode and QR Code previews
SIGNATURENET-5478★ FeatureSupport for APNG and TGA image formats
SIGNATURENET-5480⚙️ EnhancementAdded background transparency support for Barcode/QR previews
SIGNATURENET-5477⚙️ EnhancementOverlay image support for digital signatures with background
SIGNATURENET-5422⚙️ EnhancementRemoved insecure encryption algorithms (RC2, AES, DES, TripleDES)

Major Features

Adaptive rendering for Barcode and QR Code signature previews

🌐 In previous versions, the size of Barcode and QR Code signature previews was fixed or automatically calculated, which could result in inconsistent appearance across different documents or formats.

In this release, we introduced adaptive rendering that gives users full control over the size of the signature preview. Now users can explicitly specify the desired width and height for Barcode and QR Code previews to ensure consistent layout and appearance regardless of target format or resolution.

// Initialize QR Code signing options
QrCodeSignOptions qrSignOptions = new QrCodeSignOptions("GROUP DOCS", QrCodeTypes.QR)
{
    Width = 250,                          // Width of the QR code
    Height = 270,                         // Height of the QR code
    ForeColor = Color.Red,                // Color of the QR code
    CodeTextAlignment = CodeTextAlignment.Below, // Text alignment relative to the QR code
    Text = "GROUP DOCS"                   // Text displayed below the QR code
};

// Configure preview generation options for the QR code signature
PreviewSignatureOptions previewOptions = new PreviewSignatureOptions(
    qrSignOptions,
    CreateSignatureStream,   // Delegate to create the stream
    ReleaseSignatureStream   // Delegate to release the stream
)
{
    SignatureId = Guid.NewGuid().ToString(),  // Unique identifier for the preview
    PreviewFormat = PreviewSignatureOptions.PreviewFormats.PNG  // Output format of preview
};

// Generate the signature preview image
Signature.GenerateSignaturePreview(previewOptions);

The following image shows the result: Added background transparency support for Barcode/QR previews

Support for rotation in Barcode and QR Code previews

🌐 Rotation is now supported for Barcode and QR Code signature previews. Users can specify a rotation angle (in degrees), and the preview will reflect the exact appearance of the rotated signature. This feature improves flexibility when placing barcodes diagonally or vertically for layout purposes.

// Initialize barcode signing options with MaxiCode type
BarcodeSignOptions barcodeSignOptions = new BarcodeSignOptions("GROUP DOCS", BarcodeTypes.MaxiCode)
{
    Width = 400,                               // Width of the barcode
    Height = 400,                              // Height of the barcode
    ForeColor = Color.Red,                     // Foreground color of the barcode
    CodeTextAlignment = CodeTextAlignment.Below,  // Position of the text relative to the barcode
    Text = "GROUP DOCS",                       // Text displayed with the barcode
    RotationAngle = 45                         // Rotate the barcode by 45 degrees
};

// Configure preview generation options for the barcode signature
PreviewSignatureOptions previewOptions = new PreviewSignatureOptions(
    barcodeSignOptions,
    CreateSignatureStream,   // Delegate to create the output stream
    ReleaseSignatureStream   // Delegate to release the output stream
)
{
    SignatureId = Guid.NewGuid().ToString(),  // Unique identifier for the signature preview
    PreviewFormat = PreviewSignatureOptions.PreviewFormats.PNG  // Output preview format
};

// Generate the barcode signature preview image
Signature.GenerateSignaturePreview(previewOptions);

The following image shows the result: Support for rotation in Barcode and QR Code previews

Support for APNG and TGA image formats

🌐 Added full support for APNG (Animated PNG) and TGA (Targa) image formats when working with image-based signatures. Users can now use these formats for inserting, previewing, and processing image signatures. This enhancement extends compatibility with legacy and animated graphics workflows.

Added background transparency support for Barcode/QR previews

🌐 Previously, Barcode and QR Code previews did not respect background transparency settings. This release introduces support for transparent backgrounds in preview rendering. When users enable background transparency, the barcode or QR is rendered over a transparent canvas, making it easier to blend seamlessly into documents, especially PDFs and PNGs.

// Initialize barcode signing options with Codabar type
BarcodeSignOptions barcodeSignOptions = new BarcodeSignOptions("GROUP DOCS", BarcodeTypes.Codabar)
{
    Width = 400,                               // Width of the barcode preview
    Height = 400,                              // Height of the barcode preview
    ForeColor = Color.Red,                     // Foreground color of the barcode bars
    CodeTextAlignment = CodeTextAlignment.Below,  // Position text below the barcode
    Text = "GROUP DOCS",                       // Text displayed with the barcode
    Transparency = 0.5                         // Set barcode background transparency (50%)
};

// Configure preview generation options for the barcode signature
PreviewSignatureOptions previewOptions = new PreviewSignatureOptions(
    barcodeSignOptions,
    CreateSignatureStream,                     // Delegate to create the output stream
    ReleaseSignatureStream                     // Delegate to release the output stream
)
{
    SignatureId = Guid.NewGuid().ToString(),  // Unique identifier for this signature preview
    PreviewFormat = PreviewSignatureOptions.PreviewFormats.PNG  // Output preview format
};

// Generate the barcode signature preview image
Signature.GenerateSignaturePreview(previewOptions);

The following image shows the result: Added background transparency support for Barcode/QR previews

Overlay image support for digital signatures with background

🌐 We have enhanced the PdfDigitalSignatureAppearance feature by allowing users to display overlay images (e.g., company logos or seals) together with text and background color settings — without the background color hiding the image.

Previously, setting a background color would obscure the signature image. With this release, you can now:

  • Apply a background color while keeping the logo/image fully visible.
  • Choose whether the image should appear in the foreground or background relative to the signature text.
  • Use the new SignatureCustomAppearance.IsForegroundImage property to control layering.

Example use case:
Many users prefer to highlight their brand logo or stamp prominently in a signature. The new setting allows placing the image in the foreground, with text behind it, creating a more customized and professional signature appearance.

string signatureImagePath = "signature.png"
string certificatePath = "JohnSmithCertificate.pfx";

string inputPdf = "SampleDocument.pdf";
string outputPdf = "SignedDocument.pdf";

using (Signature signature = new Signature(inputPdf))
{
    DigitalSignOptions signOptions = new DigitalSignOptions(certificatePath)
    {
        Password = "1234567890",             // Certificate password
        Reason = "Document approval",       // Reason for signing
        Contact = "John Smith",              // Contact info
        Location = "Head Office",            // Signing location

        Visible = true,                      // Make signature visible on PDF
        Left = 350,                         // X coordinate of signature position
        Top = 100,                          // Y coordinate of signature position
        Width = 200,                       // Signature width
        Height = 70,                       // Signature height

        ImageFilePath = signatureImagePath, // Image to show inside signature

        Appearance = new PdfDigitalSignatureAppearance()
        {
            Foreground = Color.FromArgb(50, Color.Brown),    // Semi-transparent font color
            FontFamilyName = "Times New Roman",              // Font family
            FontSize = 12,                                    // Font size
            Background = Color.FromArgb(50, Color.LightGray),// Semi-transparent background
            IsForegroundImage = true                          // Image appears on top of text
        },
    };

    var signResult = signature.Sign(outputPdf, signOptions);

    Console.WriteLine($"\nDocument signed successfully with {signResult.Succeeded.Count} signature(s).");
    Console.WriteLine($"Signed file saved at: {outputPdf}");
}

The following image shows the result: Overlay image support for digital signatures with background

Removed insecure encryption algorithms (RC2, AES, DES, TripleDES)

🌐 Deprecated and insecure encryption algorithms — RC2, DES, TripleDES, and weak AES modes — have been removed to comply with modern cryptographic security standards. Only secure algorithms are now supported. This change strengthens the default security of signed documents and aligns with OWASP and NIST recommendations.