GroupDocs.Watermark for .NET 24.10 Release Notes
The release of GroupDocs.Watermark version 24.10 introduces new features which enhance experience with tiled watermarks. Also it includes several bug fixies.
Public API changes
The RotateAroundCenter property has been renamed to RotateAroundOrigin for better understanding. Turning it on allows you to rotate tile watermarks relative to the bottom left edge of the document
Full list of changes in this release
Key | Category | Summary |
---|---|---|
#WATERMARKNET-1883 | ★ Feature | Saving information about added watermarks in the pdf metadata |
#WATERMARKNET-1874 | ★ Feature | Creating a one-third offset template for tile watermarks |
#WATERMARKNET-1878 | ★ Feature | Creating ability to generate a step ladder tile watermarks |
#WATERMARKNET-1874 | ★ Feature | Basket Weave mosaic |
WATERMARKNET-1848 | 🔧 Fix | MultiFrame images return a null PageNumber in the result after adding watermarks |
Major Features
Saving information about added watermarks in the pdf metadata
🌐 Added functionality to save details of applied watermarks in the PDF metadata for improved tracking and document management.
using (Watermarker watermarker = new Watermarker("test.pdf",))
{
// Add text watermark
TextWatermark textWatermark = new TextWatermark("Test watermark", new Font("Arial", 8));
// Enabling saving results in the documents metadata
watermark.SaveResultInMetadata = true;
textWatermark.HorizontalAlignment = HorizontalAlignment.Left;
textWatermark.VerticalAlignment = VerticalAlignment.Top;
watermarker.Add(textWatermark);
watermarker.Save(outputFileName);
}
Creating a one-third offset template for tile watermarks
🌐 Introduced a one-third offset template for tile watermarks, enabling precise and visually balanced watermark placement across documents. This feature enhances customization and layout flexibility.
using (Watermarker watermarker = new Watermarker("test.pdf"))
{
// Create a text watermark with a specified text and font
var watermark = new TextWatermark("test watermark", new Font("Arial", 48));
// Configure TileOptions and setting TileType to OneThirdOffset
watermark.TileOptions = new TileOptions()
{
TileType = TileType.OneThirdOffset,
RotateAroundOrigin = rotateAroundOrigin,
LineSpacing = new MeasureValue()
{
MeasureType = TileMeasureType.Pixel,
Value = 80
},
WatermarkSpacing = new MeasureValue()
{
MeasureType = TileMeasureType.Percent,
Value = 10
},
};
watermark.Opacity = 0.3;
watermark.RotateAngle = -45;
watermarker.Add(watermark);
// Save the watermarked document and capture the watermarking result
WatermarkResult watermarkResult = watermarker.Save("result.pdf");
}
Creating ability to generate a step ladder tile watermarks
🌐 Added the ability to generate step ladder tile watermarks, allowing for a staggered, dynamic watermark layout that enhances document design options.
using (Watermarker watermarker = new Watermarker("test.pdf"))
{
// Create a text watermark with a specified text and font
var watermark = new TextWatermark("test watermark", new Font("Arial", 48));
// For achieving step ladder pattern we should set TileType to Offset and make RotateAngle 90 degrees
watermark.TileOptions = new TileOptions()
{
TileType = TileType.Offset,
RotateAroundOrigin = rotateAroundOrigin,
LineSpacing = new MeasureValue()
{
MeasureType = TileMeasureType.Pixel,
Value = 80
},
WatermarkSpacing = new MeasureValue()
{
MeasureType = TileMeasureType.Percent,
Value = 10
},
};
watermark.Opacity = 0.3;
watermark.RotateAngle = -90;
watermarker.Add(watermark);
// Save the watermarked document and capture the watermarking result
WatermarkResult watermarkResult = watermarker.Save("result.pdf");
}
Basket Weave mosaic
🌐 Introduced the option to create watermarks in a Basket Weave mosaic pattern, providing a unique, interwoven design for enhanced visual impact and security.
using (Watermarker watermarker = new Watermarker("test.pdf"))
{
// Create a text watermark with a specified text and font
var watermark = new TextWatermark("test watermark", new Font("Arial", 48));
// For achieving step ladder pattern we should set TileType to BasketWeave
watermark.TileOptions = new TileOptions()
{
TileType = TileType.BasketWeave,
RotateAroundOrigin = rotateAroundOrigin,
LineSpacing = new MeasureValue()
{
MeasureType = TileMeasureType.Pixel,
Value = 80
},
WatermarkSpacing = new MeasureValue()
{
MeasureType = TileMeasureType.Percent,
Value = 10
},
};
watermark.Opacity = 0.3;
watermarker.Add(watermark);
// Save the watermarked document and capture the watermarking result
WatermarkResult watermarkResult = watermarker.Save("result.pdf");
}