public void SignStampPdf()
        {
            // Set request
            var testFile       = TestFiles.PdfStorage.FirstOrDefault();
            var fileInfo       = testFile.GetFileInfo();
            var signedFileName = $@"Output\PdfStampSigned.{testFile.Extension}";

            var options = new SignStampOptions();

            PopulateOptions(options);
            var signSettings = new SignSettings();

            signSettings.FileInfo    = fileInfo;
            signSettings.SaveOptions = new SaveOptions()
            {
                OutputFilePath = signedFileName
            };
            signSettings.Options = new List <SignOptions>()
            {
                options
            };
            var request = new CreateSignaturesRequest(signSettings);

            // Get and check result
            var response = SignatureApi.CreateSignatures(request);

            CheckResponse(response, testFile);

            //Download the signed file
            this.DownloadFile(signedFileName);
        }
        public void SignCollectionPdf()
        {
            // Set request
            var testFile       = TestFiles.PdfStorage.FirstOrDefault();
            var fileInfo       = testFile.GetFileInfo();
            var signedFileName = $@"Output\PdfCollectionSigned.{testFile.Extension}";

            var optionsBarcode = new SignBarcodeOptions();

            TestsSignBarcode.PopulateOptions(optionsBarcode);
            optionsBarcode.Top = 0;

            var optionsQrCode = new SignQRCodeOptions();

            TestsSignQrCode.PopulateOptions(optionsQrCode);
            optionsQrCode.Top = optionsBarcode.Height + 20;

            var optionsDigital = new SignDigitalOptions();

            TestsSignDigital.PopulateOptions(optionsDigital);
            optionsDigital.Top = optionsQrCode.Top + optionsQrCode.Height + 20;

            var optionsText = new SignTextOptions();

            TestsSignText.PopulateOptions(optionsText);
            optionsText.Top = optionsDigital.Top + optionsDigital.Height + 20;

            var optionsImage = new SignImageOptions();

            TestsSignImage.PopulateOptions(optionsImage);
            optionsImage.Top = optionsText.Top + optionsText.Height + 20;

            var optionsStamp = new SignStampOptions();

            TestsSignStamp.PopulateOptions(optionsStamp);
            optionsStamp.Top = optionsImage.Top + optionsImage.Height + 20;

            var signSettings = new SignSettings();

            signSettings.FileInfo    = fileInfo;
            signSettings.SaveOptions = new SaveOptions()
            {
                OutputFilePath = signedFileName
            };
            signSettings.Options = new List <SignOptions>()
            {
                optionsBarcode, optionsQrCode, optionsDigital, optionsText, optionsImage, optionsStamp
            };
            var request = new CreateSignaturesRequest(signSettings);

            // Get and check result
            var response = SignatureApi.CreateSignatures(request);

            CheckResponse(response, testFile);

            //Download the signed file
            this.DownloadFile(signedFileName);
        }
        public static void PopulateOptions(SignStampOptions options)
        {
            options.SignatureType = SignatureTypeEnum.Stamp;

            // set signature properties
            options.ImageFilePath = @"Additional\JohnSmithSign.png";

            // set signature position on a page
            options.Left   = 100;
            options.Top    = 100;
            options.Width  = 300;
            options.Height = 200;
            options.LocationMeasureType = SignImageOptions.LocationMeasureTypeEnum.Pixels;
            options.SizeMeasureType     = SignImageOptions.SizeMeasureTypeEnum.Pixels;
            options.RotationAngle       = 0;
            options.HorizontalAlignment = SignImageOptions.HorizontalAlignmentEnum.None;
            options.VerticalAlignment   = SignImageOptions.VerticalAlignmentEnum.None;
            options.Margin = new Padding()
            {
                All = 5
            };
            options.MarginMeasureType = SignImageOptions.MarginMeasureTypeEnum.Pixels;

            // set signature appearance
            options.BackgroundColor = new Color()
            {
                Web = "CornflowerBlue"
            };
            options.BackgroundColorCropType = SignStampOptions.BackgroundColorCropTypeEnum.InnerArea;
            options.BackgroundImageCropType = SignStampOptions.BackgroundImageCropTypeEnum.MiddleArea;
            options.Transparency            = 0.8;

            options.OuterLines = new List <StampLine> {
                new StampLine()
                {
                    Text = "John Smith",
                    Font = new SignatureFont()
                    {
                        FontFamily = "Arial", FontSize = 12, Bold = true, Italic = true, Underline = true
                    },
                    TextBottomIntent = 5,
                    TextColor        = new Color()
                    {
                        Web = "Gold"
                    },
                    TextRepeatType  = StampLine.TextRepeatTypeEnum.FullTextRepeat,
                    BackgroundColor = new Color()
                    {
                        Web = "BlueViolet"
                    },
                    Height      = 20,
                    InnerBorder = new BorderLine()
                    {
                        Color = new Color()
                        {
                            Web = "DarkOrange"
                        }, Style = BorderLine.StyleEnum.LongDash, Transparency = 0.5, Weight = 1.2
                    },
                    OuterBorder = new BorderLine()
                    {
                        Color = new Color()
                        {
                            Web = "DarkOrange"
                        }, Style = BorderLine.StyleEnum.LongDashDot, Transparency = 0.7, Weight = 1.4
                    },
                    Visible = true
                }
            };

            options.InnerLines = new List <StampLine> {
                new StampLine()
                {
                    Text = "John Smith",
                    Font = new SignatureFont()
                    {
                        FontFamily = "Times New Roman", FontSize = 20, Bold = true, Italic = true, Underline = true
                    },
                    TextBottomIntent = 3,
                    TextColor        = new Color()
                    {
                        Web = "Gold"
                    },
                    TextRepeatType  = StampLine.TextRepeatTypeEnum.None,
                    BackgroundColor = new Color()
                    {
                        Web = "CornflowerBlue"
                    },
                    Height      = 30,
                    InnerBorder = new BorderLine()
                    {
                        Color = new Color()
                        {
                            Web = "OliveDrab"
                        }, Style = BorderLine.StyleEnum.LongDash, Transparency = 0.5, Weight = 1.2
                    },
                    OuterBorder = new BorderLine()
                    {
                        Color = new Color()
                        {
                            Web = "GhostWhite"
                        }, Style = BorderLine.StyleEnum.Dot, Transparency = 0.4, Weight = 1.4
                    },
                    Visible = true
                }
            };

            //set pages for signing (each of these page settings could be used singly)
            options.AllPages   = false;
            options.Page       = 1;
            options.PagesSetup = new PagesSetup()
            {
                EvenPages   = false,
                FirstPage   = true,
                LastPage    = false,
                OddPages    = false,
                PageNumbers = new List <int?>()
                {
                    1
                }
            };
        }