Example #1
0
        public void SignAcroWithFieldSignature()
        {
            string inputFilePath  = ResourceHelpers.WriteResourceToFile("Twenty57.Linx.Components.Pdf.Tests.Sign.Resources.Sign.pdf", this.inputDirectory);
            string outputFilePath = Path.Combine(this.outputDirectory, "Sign.pdf");
            string fieldName      = "SignatureField";

            this.lockDocument = !this.lockDocument;

            FunctionDesigner designer = ProviderHelpers.CreateDesigner <SignProvider>();

            ConfigureInputFileFunctionValues(designer, FileAuthentication.None, inputFilePath);
            ConfigureSignCertificateProperties(designer, FileAuthentication.CertificateStore, this.lockDocument);
            designer.Properties[PropertyNames.Placement].Value                 = SignaturePosition.FormField;
            designer.Properties[PropertyNames.FieldName].Value                 = fieldName;
            designer.Properties[PropertyNames.BackgroundImage].Value           = ResourceHelpers.WriteResourceToFile("Twenty57.Linx.Components.Pdf.Tests.Sign.Resources.Sign_Image.png", this.inputDirectory);
            designer.Properties[Pdf.Common.PropertyNames.OutputFilePath].Value = outputFilePath;

            var tester = new FunctionTester <SignProvider>();

            tester.Execute(designer.GetProperties(), designer.GetParameters());

            PdfComparer.AssertFieldSignature(outputFilePath, FileAuthentication.None, this.authenticationManager, fieldName, signName, signLocation, signReason, this.lockDocument);
        }