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 Apps

Along with the full-featured .NET library, we provide simple but powerful free online apps.

To generate QR codes and/or sign your files with QR codes for free, you can use the QR Code Generator online app.

To sign PDF, Word, Excel, PowerPoint, and other documents you can use the other online apps from the GroupDocs.Signature App Product Family.