AnnBatesStampComposer is the main part for Bates stamping operation as it connects annotations containers with Bates stamp objects.
public class AnnBatesStampComposer : IDisposable Use this composer to add target containers to apply Bates stamps to.
It allows the addition of AnnBatesStamp objects. Also this composer have ability to save and load the Bates stamp list.
This example will create Bates stamp object with multiple elements then use the composer to attach the Bates stamp to target container.
using Leadtools.Annotations.Engine;using Leadtools.Annotations.Automation;using Leadtools.Annotations.Rendering;using Leadtools.Annotations.WinForms;using Leadtools.Annotations.BatesStamp;public void AnnBatesStampComposer_AnnBatesStampComposer(){//Create AnnBatesStamp and set its propertiesAnnBatesStamp batesStamp = new AnnBatesStamp();batesStamp.Font = new AnnFont("Arial", 12);batesStamp.Foreground = AnnSolidColorBrush.Create("Red");batesStamp.HorizontalAlignment = AnnHorizontalAlignment.Center;batesStamp.VerticalAlignment = AnnVerticalAlignment.Center;batesStamp.Logo.Angle = 45;batesStamp.Logo.Font = new AnnFont("Arial", 14);batesStamp.Logo.Opacity = 0.5;batesStamp.Logo.StretchLogo = true;batesStamp.Logo.Picture = new AnnPicture(Path.Combine(LEAD_VARS.ImagesDir, "cannon.jpg"));//Add some elements to Bates stamp elements listbatesStamp.Elements.Add(new AnnBatesNumber());batesStamp.Elements.Add(AnnBatesText.Create(" "));batesStamp.Elements.Add(AnnBatesText.Create(" This is text element"));//Create AnnBatesStampComposer instance and add the created Bates stamp to itAnnBatesStampComposer batesStampComposer = new AnnBatesStampComposer();//Set the rendering engineAnnBatesStampComposer.RenderingEngine = new AnnWinFormsRenderingEngine();batesStampComposer.Stamps.Add(batesStamp);//Use the main automation object for your application instead of _automation we used hereAnnAutomation automation = _automation;AnnContainer mainContainer = automation.Container;//Create Bates stamp container, set its size and mapper and attach it to the composerAnnContainer batesStampContainer = new AnnContainer();batesStampContainer.Size = mainContainer.Size;batesStampContainer.Mapper = mainContainer.Mapper.Clone();//Apply Bates Stamp to our containerbatesStampComposer.TargetContainers.Add(batesStampContainer);//insert the Bates stamp container below all other containers in the automationautomation.Containers.Insert(0, batesStampContainer);//print the content of this Bates stampDebug.WriteLine(batesStamp.AsString(batesStampContainer)); // the output will be "000001 This is text element"//Render the containersautomation.Invalidate(LeadRectD.Empty);}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}