Sign document with QR-code signature - advanced

GroupDocs.Signature provides QrCodeSignOptions class to specify additional options for QR-code signature with following signature appearance

Here are the steps to add QR-code signature into document with GroupDocs.Signature:

  • Create new instance of Signature class and pass source document path as a constructor parameter.
  • Instantiate the QrCodeSignOptions object with all required additional options.
  • Call Sign method of Signature class instance and pass QrCodeSignOptions to it.
  • Analyze SignResult result to check newly created signatures if needed.

This example shows how to add Barcode signature to document. See SignResult

 using (Signature signature = new Signature("sample.docx"))
 {
     // create QRCode option with predefined QRCode text
     QrCodeSignOptions options = new QrCodeSignOptions("12345678")
     {
         // setup QRCode encoding type
         EncodeType = QrCodeTypes.QR,
         // set signature position
         Left = 100,
         Top = 100,
         // set signature alignment
         // when VerticalAlignment is set the Top coordinate will be ignored.
         // Use Margin properties Top, Bottom to provide vertical offset
         VerticalAlignment = VerticalAlignment.Top,
         // when HorizontalAlignment is set the Left coordinate will be ignored.
         // Use Margin properties Left, Right to provide horizontal offset
         HorizontalAlignment = 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)
         }
     };
     // sign document to file
     SignResult signResult = signature.Sign("signed.docx", options);
     Console.WriteLine("\nList 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:

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.