Sign document with Text signature - advanced
GroupDocs.Signature provides TextSignOptions class to specify additional options for text signature to specify following signature appearance
- signature alignment (HorizontalAlignment, VerticalAlignment)
- margins (Margin)
- border and background settings (Border, Background)
- font and colors (Font, Forecolor)
- text signature implementation (stamp, text as image, watermark, annotation, shaped etc)
Here are the steps to add Text signature into document with GroupDocs.Signature:
- Create new instance of Signature class and pass source document path as a constructor parameter.
- Instantiate the TextSignOptions object with all required additional options .
- Call Sign method of Signature class instance and pass TextSignOptions to it.
- Analyze SignResult result to check newly created signatures if needed.
This example shows how to add Text signature to document with advanced setup and analyzing result of method. See SignResult
using (Signature signature = new Signature("sample.pdf"))
{
TextSignOptions options = new TextSignOptions("John Smith")
{
// set signature position
Left = 100,
Top = 100,
// set signature rectangle
Width = 100,
Height = 30,
// set signature alignment
// when VerticalAlignment is set the Top coordinate will be ignored.
// Use Margin properties Top, Bottom to provide vertical offset
VerticalAlignment = Domain.VerticalAlignment.Top,
// when HorizontalAlignment is set the Left coordinate will be ignored.
// Use Margin properties Left, Right to provide horizontal offset
HorizontalAlignment = Domain.HorizontalAlignment.Right,
Margin = new Padding() { Top = 20, Right = 20 },
// adjust signature appearance
// setup signature border
Border = new Border()
{
Color = Color.DarkGreen,
DashStyle = DashStyle.DashLongDashDot,
Transparency = 0.5,
Visible = true,
Weight = 2
},
// set text color and Font
ForeColor = Color.Red,
Font = new SignatureFont { Size = 12, FamilyName = "Comic Sans MS" },
// setup background
Background = new Background()
{
Color = Color.LimeGreen,
Transparency = 0.5,
Brush = new LinearGradientBrush(Color.LimeGreen, Color.DarkGreen)
},
// set rotation
RotationAngle = 45,
// set alternative signature implementation on document page
SignatureImplementation = TextSignatureImplementation.Image
};
// set up shadow options for text
TextShadow shadow = new TextShadow()
{
Color = Color.OrangeRed,
Angle = 135,
Blur = 5,
Distance = 4,
Transparency = 0.2
};
//add text shadow to signature extensions
options.Extensions.Add(shadow);
// sign document to file
SignResult signResult = signature.Sign("signedSample.pdf", options);
Console.WriteLine("List of newly created signatures:");
int number = 1;
foreach (BaseSignature temp in signResult.Succeeded)
{
Console.WriteLine($"Signature #{number++}: Type: {temp.SignatureType} Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");
}
}
More resources
GitHub Examples
You may easily run the code above and see the feature in action in our GitHub examples:
- GroupDocs.Signature for .NET examples, plugins, and showcase
- GroupDocs.Signature for Java examples, plugins, and showcase
- Document Signature for .NET MVC UI Example
- Document Signature for .NET App WebForms UI Example
- Document Signature for Java App Dropwizard UI Example
- Document Signature for Java Spring UI Example
Free Online App
Along with full-featured .NET library we provide simple, but powerful free Apps.
You are welcome to eSign PDF, Word, Excel, PowerPoint documents with free to use online GroupDocs Signature App.