←Select platform

AnnBatesStampComposer Class

Summary

AnnBatesStampComposer is the main part for Bates stamping operation as it connects annotations containers with Bates stamp objects.

Syntax
C#
VB
C++
Java
public class AnnBatesStampComposer : IDisposable 
Public Class AnnBatesStampComposer  
public class AnnBatesStampComposer 
public: 
   ref class AnnBatesStampComposer : IDisposable 

Remarks

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.

Example

This example will create Bates stamp object with multiple elements then use the composer to attach the Bates stamp to target container.

C#
VB
using Leadtools.Annotations.Engine; 
using Leadtools.Annotations.Automation; 
using Leadtools.Annotations.Rendering; 
using Leadtools.Annotations.WinForms; 
using Leadtools.Annotations.BatesStamp; 
using LeadtoolsExamples.Common; 
 
public void AnnBatesStampComposer_AnnBatesStampComposer() 
{ 
   //Create AnnBatesStamp and set its properties  
   AnnBatesStamp 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(ImagesPath.Path, "cannon.jpg")); 
 
   //Add some elements to Bates stamp elements list  
   batesStamp.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 it  
   AnnBatesStampComposer batesStampComposer = new AnnBatesStampComposer(); 
   //Set the rendering engine  
   AnnBatesStampComposer.RenderingEngine = new AnnWinFormsRenderingEngine(); 
   batesStampComposer.Stamps.Add(batesStamp); 
 
   //Use the main automation object for your application instead of _automation we used here  
   AnnAutomation automation = _automation; 
   AnnContainer mainContainer = automation.Container; 
 
   //Create Bates stamp container, set its size and mapper and attach it to the composer  
   AnnContainer batesStampContainer = new AnnContainer(); 
   batesStampContainer.Size = mainContainer.Size; 
   batesStampContainer.Mapper = mainContainer.Mapper.Clone(); 
 
 
   //Apply Bates Stamp to our container  
   batesStampComposer.TargetContainers.Add(batesStampContainer); 
 
   //insert the Bates stamp container below all other containers in the automation   
   automation.Containers.Insert(0, batesStampContainer); 
 
   //print the content of this Bates stamp  
   Debug.WriteLine(batesStamp.AsString(batesStampContainer)); //  the output will be "000001 This is text element"  
 
   //Render the containers  
   automation.Invalidate(LeadRectD.Empty);  
} 
Imports Leadtools 
Imports Leadtools.Annotations.Engine 
Imports Leadtools.Annotations.Automation 
Imports Leadtools.Annotations.Rendering 
Imports Leadtools.Annotations.WinForms 
Imports Leadtools.Annotations.BatesStamp 
Imports LeadtoolsExamples.Common 
 
Public Sub AnnBatesStampComposer_AnnBatesStampComposer() 
   'Create AnnBatesStamp and set its properties 
   Dim batesStamp As AnnBatesStamp = 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(ImagesPath.Path, "cannon.jpg")) 
 
   'Add some elements to Bates stamp elements list 
   batesStamp.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 it 
   Dim batesStampComposer As AnnBatesStampComposer = New AnnBatesStampComposer() 
   'Set the rendering engine 
   AnnBatesStampComposer.RenderingEngine = New AnnWinFormsRenderingEngine() 
   batesStampComposer.Stamps.Add(batesStamp) 
 
   'Use the main automation object for your application instead of _automation we used here 
   Dim automation As AnnAutomation = _automation 
   Dim mainContainer As AnnContainer = automation.Container 
 
   'Create Bates stamp container, set its size and mapper and attach it to the composer 
   Dim batesStampContainer As AnnContainer = New AnnContainer() 
   batesStampContainer.Size = mainContainer.Size 
   batesStampContainer.Mapper = mainContainer.Mapper.Clone() 
 
 
   'Apply Bates Stamp to our container 
   batesStampComposer.TargetContainers.Add(batesStampContainer) 
 
   'insert the Bates stamp container below all other containers in the automation  
   automation.Containers.Insert(0, batesStampContainer) 
 
   'print the content of this Bates stamp 
   Debug.WriteLine(batesStamp.AsString(batesStampContainer)) ' the output will be "000001 This is text element" 
 
   'Render the containers 
   automation.Invalidate(LeadRectD.Empty) 
End Sub 

Requirements

Target Platforms

Help Version 20.0.2020.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Annotations.BatesStamp Assembly