Latest release (June 2025)
The release of GroupDocs.Signature version 25.6 adds new features and enhancements.
Full list of changes in this releasex
Key | Category | Summary |
---|---|---|
SIGNATURENET-5445 | ★ Feature | Adaptive rendering for Barcode and QR Code signature previews |
SIGNATURENET-5479 | ★ Feature | Support for rotation in Barcode and QR Code previews |
SIGNATURENET-5478 | ★ Feature | Support for APNG and TGA image formats |
SIGNATURENET-5480 | ⚙️ Enhancement | Added background transparency support for Barcode/QR previews |
SIGNATURENET-5477 | ⚙️ Enhancement | Overlay image support for digital signatures with background |
SIGNATURENET-5422 | ⚙️ Enhancement | Removed 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:
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 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:
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:
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.