Пример #1
0
        private void btnSign_Click(object sender, EventArgs e)
        {
            print("btnSign was pressed");

            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                print("signature captured successfully");
                sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");
                String filename = "sig1.png";
                sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, -1.0f, -1.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderBackgroundTransparent | RBFlags.RenderColorAntiAlias | RBFlags.RenderEncodeData);
                sigImage.Load(filename);
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
Пример #2
0
        public static void Capture(Tablet tablet)
        {
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence   = Common.TabletKey();
            sigCtl.BackColor = 12;
            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, tablet.Who, tablet.Why, tablet.What, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj   = (SigObj)sigCtl.Signature;
                String filename = tablet.SaveSignnamePicPath;
                try
                {
                    sigObj.RenderBitmap(filename, 150, 100, "image/png", 2.0f, 0x00000000, 0x00FFFFFF, 0, 0, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);
                    SignnameResult.Msg       = "";
                    SignnameResult.Signnamed = true;
                }
                catch (Exception ex)
                {
                    SignnameResult.Msg = ex.Message;
                }
            }
            else
            {
                SignnameResult.Signnamed = false;
                SignnameResult.Msg       = "";
            }
            if (res == DynamicCaptureResult.DynCaptNotLicensed)
            {
                SignnameResult.Msg = "签字版连接故障!请检查签字版是否已经正确连接!";
            }
        }
Пример #3
0
        public void sign()
        {
            SigCtl               sigCtl = new SigCtl();
            DynamicCapture       dc     = new DynamicCapture();
            DynamicCaptureResult res    = dc.Capture(sigCtl, "Name", "Reason", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                //sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                String filename = System.IO.Path.GetTempFileName();
                try
                {
                    sigObj.RenderBitmap(filename, 400, 200, "image/png", 1.0f, 0x000000, 0xffffff, 5.0f, 5.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData | RBFlags.RenderBackgroundTransparent);

                    Range activecell = Globals.ThisAddIn.Application.Selection;

                    Worksheet ws = Globals.ThisAddIn.Application.ActiveSheet;

                    Microsoft.Office.Interop.Excel.Shape signature =
                        ws.Shapes.AddPicture(filename, Office.MsoTriState.msoFalse, Office.MsoTriState.msoTrue, activecell.Left, activecell.Top, 400, 200);

                    signature.Placement = XlPlacement.xlMoveAndSize;
                    signature.Height    = (float)activecell.Height;
                    signature.Width     = (float)activecell.Width;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Пример #4
0
        public void sign()
        {
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence = Properties.Settings.Default.License;
            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, name, reason, null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                //sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                String filename = System.IO.Path.GetTempFileName();
                try
                {
                    sigObj.RenderBitmap(filename, 400, 200, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData | RBFlags.RenderBackgroundTransparent);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                string newFile = InsertSignatureImageToPdf(filename);
                loadPdf(newFile, false);
                //getSignatureFromPdf(signedPdf);
            }
        }
        private void btnSign_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim().Length == 0)
            {
                MessageBox.Show("Please enter name");
                return;
            }

            if (txtEmail.Text.Trim().Length == 0)
            {
                MessageBox.Show("Please enter email");
                return;
            }

            SigCtl               sigCtl = new SigCtl();
            DynamicCapture       dc     = new DynamicCapture();
            DynamicCaptureResult res    = dc.Capture(sigCtl, txtName.Text, "Reference", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;


                try
                {
                    SigText         = sigObj.RenderBitmap(null, 400, 200, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputBase64 | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);
                    txtSigText.Text = SigText.Substring(0, 50) + "..";
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
Пример #6
0
        public CompareResult Verify(SigObj sigRef, SigObj sigTest)
        {
            try
            {
                wgssDSV.SignatureVerifier verifier = new wgssDSV.SignatureVerifier();
                wgssDSV.Options           opt      = new wgssDSV.Options();
                opt = readOptions();

                verifier.license = DsvLicense;
                verifier.setReferenceSignature(sigRef);
                verifier.setTestSignature(sigTest);

                return(verifier.compare());
            }
            catch (Exception ex)
            {
                VerificationPass   = false;
                VerificationResult = null;
                VerificationStatus = Status.Error;
                ErrorMessage       = ex.Message;
                if (VerificationCompleteEvent != null)
                {
                    VerificationCompleteEvent(this, null);
                }
                return(null);
            }
        }
Пример #7
0
        public void CompareSignatures(SigObj sigRef, SigObj sigTest)
        {
            try
            {
                wgssDSV.Options opt = new wgssDSV.Options();
                opt = readOptions();

                SigRef  = sigRef;
                SigTest = sigTest;

                VerificationStatus = Status.Pending;
                VerificationResult = null;
                VerificationPass   = false;
                ErrorMessage       = null;

                BackgroundWorker worker = new BackgroundWorker();
                worker.DoWork             += new DoWorkEventHandler(DoCompare);
                worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DoneCompare);

                worker.RunWorkerAsync(opt);
            }
            catch (Exception ex)
            {
                VerificationStatus = Status.Error;
                VerificationResult = null;
                VerificationPass   = false;
                ErrorMessage       = ex.Message;
                if (VerificationCompleteEvent != null)
                {
                    VerificationCompleteEvent(this, null);
                }
            }
        }
Пример #8
0
 private void ReceiverSign_Click(object sender, EventArgs e)
 {
     if (txtAccountName.Text == "")
     {
         MessageBox.Show("Please Input data");
     }
     else
     {
         DynamicCapture       dc  = new DynamicCapture();
         DynamicCaptureResult res = dc.Capture(sigCtl, "ลายมือชื่อผู้รับเงิน", "แบบฟอร์มใบถอนเงิน", null, null);
         if (res == DynamicCaptureResult.DynCaptOK)
         {
             sigObj = (SigObj)sigCtl.Signature;
             sigObj.set_ExtraData("AdditionalData", "C# Test");
             try
             {
                 byte[] binaryData = sigObj.RenderBitmap("", 173, 79, "image/png", 1.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputBinary | RBFlags.RenderColor32BPP) as byte[];
                 using (MemoryStream memStream = new MemoryStream(binaryData))
                 {
                     System.Drawing.Image newImage = System.Drawing.Image.FromStream(memStream);
                     ReceiverSign.Image = newImage;
                     memStream.Dispose();
                 }
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
         }
     }
 }
Пример #9
0
        public byte[] captureSignature()
        {
            SigCtl               sigCtl = new SigCtl();
            DynamicCapture       dc     = new DynamicCapture();
            DynamicCaptureResult res    = dc.Capture(sigCtl, Properties.Settings.Default.DefaultName, Properties.Settings.Default.DefaultReason, null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                //sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                String filename = System.IO.Path.GetTempFileName();
                try
                {
                    byte[] signature = sigObj.RenderBitmap(null, 400, 200, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputBinary | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData | RBFlags.RenderBackgroundTransparent);
                    return(signature);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }

            return(null);
        }
Пример #10
0
        public string insertSealToPdf(Bitmap bmp)
        {
            string sealFile = System.IO.Path.GetTempFileName();

            bmp.Save(sealFile, ImageFormat.Png);

            eSeal elecSeal = new eSeal();

            elecSeal.URL = sealFile;
            SigCtl             sigCtl = new SigCtl();
            eSealCaptureResult res    = elecSeal.Capture(sigCtl, eSealCaptureMode.esRequireSignature, name, reason);

            if (res == eSealCaptureResult.esCaptureOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                //sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                String filename = System.IO.Path.GetTempFileName();
                try
                {
                    sigObj.RenderBitmap(filename, 600, 300, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData | RBFlags.RenderBackgroundTransparent | RBFlags.RenderClipped);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

                string newFile = InsertSignatureImageToPdf(filename);
                loadPdf(newFile, false);

                return(newFile);
            }

            return("");
        }
Пример #11
0
        private SigObj GetRefSigFromDb(string name, string email)
        {
            if (sigDb == null)
            {
                return(null);
            }

            foreach (SignatureReference sigRef in sigDb.List)
            {
                if (sigRef.Name == name && sigRef.Email == email)
                {
                    SigObj sigObj = new SigObj();
                    if (sigObj.ReadEncodedBitmap(sigRef.SigText) == ReadEncodedBitmapResult.ReadEncodedBitmapOK)
                    {
                        return(sigObj);
                    }
                    else
                    {
                        MessageBox.Show("Unable to read signature from database, it may be corrupted");
                        return(null);
                    }
                }
            }
            return(null);
        }
Пример #12
0
        private void button1_Click(object sender, EventArgs e)
        {
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence   = "AgAZAPZTkH0EBVdhY29tClNESyBTYW1wbGUBAoECA2UA";
            sigCtl.BackColor = 12;
            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "老年人健康体检  ", "  姓名:赵玉滨    性别:男    年龄:75\r\n  身份证号:370725198311181976\r\n  地址:潍坊市昌乐县乔官镇赵家淳于村", "what", null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                //print("signature captured successfully");
                SigObj sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");
                String filename = "sig1.png";
                try
                {
                    sigObj.RenderBitmap(filename, 280, 120, "image/png", 2.5f, 0x000000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                    using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
                    {
                        Bitmap bmp = new Bitmap(filename);

                        MemoryStream ms = new MemoryStream();
                        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

                        byte[] arr = new byte[ms.Length];
                        ms.Position = 0;
                        ms.Read(arr, 0, (int)ms.Length);
                        ms.Close();
                        sigImage.Image = System.Drawing.Image.FromStream(fs);
                        fs.Close();

                        String strbaser64 = Convert.ToBase64String(arr);
                        textBox_singtext.Text = strbaser64;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                //print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                //switch (res)
                //{
                //    case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;
                //    case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;
                //    case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;
                //    default: print("Unexpected error code "); break;
                //}
            }
        }
Пример #13
0
 public byte[] RenderSignatureImageBytes(SigObj sigObj, Size size, float inkWidth, uint inkColor, uint backgroundColor)
 {
     try
     {
         byte[] signature = sigObj.RenderBitmap(null, size.Width, size.Height, "image/png", inkWidth, inkColor, backgroundColor, 10.0f, 10.0f, RBFlags.RenderOutputBinary | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);
         return(signature);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return(null);
     }
 }
Пример #14
0
        public SigObj CaptureSignature(string name, string reason)
        {
            SigCtl               sigCtl = new SigCtl();
            DynamicCapture       dc     = new DynamicCapture();
            DynamicCaptureResult res    = dc.Capture(sigCtl, name, reason, null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                return(sigObj);
            }

            return(null);
        }
        private void scriptCompleted()
        {
            print("scriptCompleted");
            SigObj sigObj = (SigObj)SigCtl.Signature;

            if (sigObj.IsCaptured)
            {
                sigObj.set_ExtraData("AdditionalData", "C# Wizard test: Additional data");
                String filename = "sig1.png";
                sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, -1.0f, -1.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);
                sigImage.Load(filename);
            }
            closeWizard();
        }
        private void btnSign_Click(object sender, EventArgs e)
        {
            print("btnSign was pressed");

            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                print("signature captured successfully");
                sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");
                String filename = "sig1.png";

                if (RenderSignatureAutoSize(filename, 100, 50) == false)
                {
                    print("Too much signature data, please sign again");
                    return;
                }

                try
                {
                    using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
                    {
                        sigImage.Image = System.Drawing.Image.FromStream(fs);
                        fs.Close();
                    }

                    // sigImage.Load(filename);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
        private void btnSign_Click(object sender, RoutedEventArgs e)
        {
            print("btnSign was pressed");
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence = "<<license>>";
            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                print("signature captured successfully");
                SigObj sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                String filename = "D:\\temp\\sig1.png";
                try
                {
                    //print("Saving signature to file " + filename);
                    sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                    print("Loading image from " + filename);
                    BitmapImage src = new BitmapImage();
                    src.BeginInit();
                    src.UriSource = new Uri(filename, UriKind.Absolute);
                    src.EndInit();

                    imgSig.Source = src;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
Пример #18
0
        public void loadSignInfo(string pdf_filename)
        {
            PdfReader reader = new PdfReader(pdf_filename);

            Dictionary <string, System.Drawing.Image> dict = PdfImageExtractor.ExtractImages(pdf_filename);
            int sigIndex = 1;

            foreach (string key in dict.Keys)
            {
                System.Drawing.Image img = dict[key];

                MemoryStream ms = new MemoryStream();
                if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp))
                {
                    img.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp);
                }
                else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Tiff))
                {
                    img.Save(ms, System.Drawing.Imaging.ImageFormat.Tiff);
                }
                else if (img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png))
                {
                    img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                }

                SigObj sig = new SigObj();
                ReadEncodedBitmapResult result = sig.ReadEncodedBitmap(ms.ToArray());
                if (result == ReadEncodedBitmapResult.ReadEncodedBitmapOK)
                {
                    //MessageBox.Show(sig.Who + " " + sig.Why + " " + sig.When);
                    treeView1.BeginUpdate();
                    treeView1.Nodes.Add("Signature " + sigIndex);
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Name: " + sig.Who);
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Reason: " + sig.Why);
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Timestamp: " + sig.When);

                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Digitizer: " + sig.get_AdditionalData(CaptData.CaptDigitizer));
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Digitizer Driver: " + sig.get_AdditionalData(CaptData.CaptDigitizerDriver));
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Machine OS: " + sig.get_AdditionalData(CaptData.CaptMachineOS));
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Network Card: " + sig.get_AdditionalData(CaptData.CaptNetworkCard));
                    treeView1.EndUpdate();

                    sigIndex = sigIndex + 1;
                }

                treeView1.ExpandAll();
            }
        }
        private void scriptCompleted()
        {
            print("scriptCompleted");
            SigObj sigObj = (SigObj)SigCtl.Signature;

            if (sigObj.IsCaptured)
            {
                sigObj.set_ExtraData("AdditionalData", "C# Wizard test: Additional data");
                byte[] signature = sigObj.RenderBitmap(null, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, -1.0f, -1.0f, RBFlags.RenderOutputBinary | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                using (MemoryStream ms = new MemoryStream(signature))
                {
                }
            }
            closeWizard();
        }
Пример #20
0
        private void btnSign_Click(object sender, EventArgs e)
        {
            print("btnSign was pressed");

            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                print("signature captured successfully");
                sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                try
                {
                    byte[] binaryData = sigObj.RenderBitmap("", 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputBinary | RBFlags.RenderColor32BPP) as byte[];
                    using (MemoryStream memStream = new MemoryStream(binaryData))
                    {
                        System.Drawing.Image newImage = System.Drawing.Image.FromStream(memStream);
                        sigImage.Image = newImage;

                        // work with image here.
                        // You'll need to keep the MemoryStream open for
                        // as long as you want to work with your new image.
                        memStream.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
        private void btnSign_Click(object sender, EventArgs e)
        {
            print("btnSign was pressed");
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence = "<<license>>";
            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                print("signature captured successfully");
                SigObj sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");
                String filename = "sig1.png";
                try
                {
                    sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                    using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
                    {
                        sigImage.Image = System.Drawing.Image.FromStream(fs);
                        fs.Close();
                    }

                    // sigImage.Load(filename);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
        private void captureSig()
        {
            print("btnSign was pressed");
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence = "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI3YmM5Y2IxYWIxMGE0NmUxODI2N2E5MTJkYTA2ZTI3NiIsImV4cCI6MjE0NzQ4MzY0NywiaWF0IjoxNTYwOTUwMjcyLCJyaWdodHMiOlsiU0lHX1NES19DT1JFIiwiU0lHQ0FQVFhfQUNDRVNTIl0sImRldmljZXMiOlsiV0FDT01fQU5ZIl0sInR5cGUiOiJwcm9kIiwibGljX25hbWUiOiJTaWduYXR1cmUgU0RLIiwid2Fjb21faWQiOiI3YmM5Y2IxYWIxMGE0NmUxODI2N2E5MTJkYTA2ZTI3NiIsImxpY191aWQiOiJiODUyM2ViYi0xOGI3LTQ3OGEtYTlkZS04NDlmZTIyNmIwMDIiLCJhcHBzX3dpbmRvd3MiOltdLCJhcHBzX2lvcyI6W10sImFwcHNfYW5kcm9pZCI6W10sIm1hY2hpbmVfaWRzIjpbXX0.ONy3iYQ7lC6rQhou7rz4iJT_OJ20087gWz7GtCgYX3uNtKjmnEaNuP3QkjgxOK_vgOrTdwzD-nm-ysiTDs2GcPlOdUPErSp_bcX8kFBZVmGLyJtmeInAW6HuSp2-57ngoGFivTH_l1kkQ1KMvzDKHJbRglsPpd4nVHhx9WkvqczXyogldygvl0LRidyPOsS5H2GYmaPiyIp9In6meqeNQ1n9zkxSHo7B11mp_WXJXl0k1pek7py8XYCedCNW5qnLi4UCNlfTd6Mk9qz31arsiWsesPeR9PN121LBJtiPi023yQU8mgb9piw_a-ccciviJuNsEuRDN3sGnqONG3dMSA";
            DynamicCapture       dc  = new DynamicCaptureClass();
            DynamicCaptureResult res = dc.Capture(sigCtl, "Who", "Why", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                print("signature captured successfully");
                SigObj sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");
                String filename = "sig1.png";
                try
                {
                    sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                    using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
                    {
                        sigImage.Image = System.Drawing.Image.FromStream(fs);
                        fs.Close();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
Пример #23
0
        public void loadSignInfo(string pdf_filename)
        {
            PdfReader  reader   = new PdfReader(pdf_filename);
            AcroFields fields   = reader.AcroFields;
            int        sigIndex = 1;
            SignatureImageExtractor extractor = new SignatureImageExtractor(reader);

            foreach (string sigFieldName in fields.GetSignatureNames())
            {
                PdfImageObject image = extractor.extractImage(sigFieldName);
                MemoryStream   ms    = new MemoryStream(image.GetImageAsBytes());

                SigObj sig = new SigObj();

                ReadEncodedBitmapResult result = sig.ReadEncodedBitmap(ms.ToArray());
                if (result == ReadEncodedBitmapResult.ReadEncodedBitmapOK)
                {
                    //MessageBox.Show(sig.Who + " " + sig.Why + " " + sig.When);
                    treeView1.BeginUpdate();
                    treeView1.Nodes.Add("Signature " + sigIndex);
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Name: " + sig.Who);
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Reason: " + sig.Why);
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Timestamp: " + sig.When);

                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Digitizer: " + sig.get_AdditionalData(CaptData.CaptDigitizer));
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Digitizer Driver: " + sig.get_AdditionalData(CaptData.CaptDigitizerDriver));
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Machine OS: " + sig.get_AdditionalData(CaptData.CaptMachineOS));
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Network Card: " + sig.get_AdditionalData(CaptData.CaptNetworkCard));

                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Signature Covers whole document: " + fields.SignatureCoversWholeDocument(sigFieldName).ToString());
                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Document Revision: " + fields.GetRevision(sigFieldName).ToString() + " of " + fields.TotalRevisions.ToString());

                    PdfPKCS7 pkcs7 = fields.VerifySignature(sigFieldName);

                    treeView1.Nodes[sigIndex - 1].Nodes.Add("Integrity Check OK? " + pkcs7.Verify().ToString());

                    treeView1.EndUpdate();

                    sigIndex = sigIndex + 1;
                }
                ms.Close();
            }

            treeView1.ExpandAll();
        }
Пример #24
0
        private void BTN_SIGNPAD_CHECK_Click(object sender, EventArgs e)
        {
            Boolean signColumn = Constants.SQLITE_MANAGER.ExitsTableColumn("SLIP_PRINT_DOCS", "SIGN");

            if (!signColumn)
            {
                Constants.SQLITE_MANAGER.alterTable("SLIP_PRINT_DOCS", "SIGN");
            }


            SigCtl sigCtl = new SigCtl();

            sigCtl.InkColor = 0x000000;
            sigCtl.Licence  = "AgAkAEy2cKydAQVXYWNvbQ1TaWduYXR1cmUgU0RLAgKBAgJkAACIAwEDZQA";
            DynamicCapture       dc  = new DynamicCapture();
            DynamicCaptureResult res = dc.Capture(sigCtl, "TEST SIGN", "SIGN TEST", null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");
            }
            else
            {
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel:
                    MessageBox.Show("signature cancelled");
                    break;

                case DynamicCaptureResult.DynCaptError:
                    MessageBox.Show("no capture service available");
                    break;

                case DynamicCaptureResult.DynCaptPadError:
                    MessageBox.Show("signing device error");
                    break;

                default:
                    MessageBox.Show("Unexpected error code ");
                    break;
                }
            }
        }
        private void scriptCompleted()
        {
            print("scriptCompleted");
            SigObj sigObj = (SigObj)SigCtl.Signature;

            if (sigObj.IsCaptured)
            {
                sigObj.set_ExtraData("AdditionalData", "C# Wizard test: Additional data");
                String filename = "sig1.png";
                sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, -1.0f, -1.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);
                using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
                {
                    sigImage.Image = System.Drawing.Image.FromStream(fs);
                    fs.Close();
                }

                //sigImage.Load(filename);
            }
            closeWizard();
        }
Пример #26
0
        private void BTN_SIGNREQ_Click(object sender, EventArgs e)
        {
            print("Request Sign");
            SigCtl sigCtl = new SigCtl();

            sigCtl.Licence = "AgAkAEy2cKydAQVXYWNvbQ1TaWduYXR1cmUgU0RLAgKBAgJkAACIAwEDZQA";
            DynamicCapture       dc  = new DynamicCapture();
            DynamicCaptureResult res = dc.Capture(sigCtl, name, clause, null, null);

            if (res == DynamicCaptureResult.DynCaptOK)
            {
                SigObj sigObj = (SigObj)sigCtl.Signature;
                sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

                try
                {
                    signdata          = (string)sigObj.RenderBitmap("", 200, 150, "image/png", 1.4f, 0xff0000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputBase64 | RBFlags.RenderColor1BPP);
                    signImage         = Base64ToImage(signdata);
                    PB_SIGIMAGE.Image = signImage;
                    print("Sign Ok");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                print("Signature capture error res=" + (int)res + "  ( " + res + " )");
                switch (res)
                {
                case DynamicCaptureResult.DynCaptCancel: print("signature cancelled"); break;

                case DynamicCaptureResult.DynCaptError: print("no capture service available"); break;

                case DynamicCaptureResult.DynCaptPadError: print("signing device error"); break;

                default: print("Unexpected error code "); break;
                }
            }
        }
Пример #27
0
        private void scriptCompleted()
        {
            print("scriptCompleted");
            SigObj sigObj = (SigObj)SigCtl.Signature;

            if (sigObj.IsCaptured)
            {
                sigObj.set_ExtraData("AdditionalData", "C# Wizard test: Additional data");
                String filename = "D:\\temp\\sig1.png";
                sigObj.RenderBitmap(filename, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, -1.0f, -1.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                print("Loading image from " + filename);
                BitmapImage src = new BitmapImage();
                src.BeginInit();
                src.UriSource = new Uri(filename, UriKind.Absolute);
                src.EndInit();

                imgSig.Source = src;
            }
            closeWizard();
        }
Пример #28
0
        private void getSignatureFromPdf(string pdf_filename)
        {
            bool imagesFound = PdfImageExtractor.PageContainsImages(pdf_filename, 1);

            if (imagesFound)
            {
                Dictionary <string, System.Drawing.Image> dict = PdfImageExtractor.ExtractImages(pdf_filename, 1);
                foreach (string key in dict.Keys)
                {
                    System.Drawing.Image img = dict[key];
                    img.Save("sign.png");

                    SigObj sig = new SigObj();
                    ReadEncodedBitmapResult result = sig.ReadEncodedBitmap("sign.png");
                    if (result == ReadEncodedBitmapResult.ReadEncodedBitmapOK)
                    {
                        MessageBox.Show(sig.Who + " " + sig.Why + " " + sig.When);
                    }
                }
            }
        }
        private void scriptCompleted()
        {
            print("scriptCompleted");
            SigObj sigObj = (SigObj)SigCtl.Signature;

            if (sigObj.IsCaptured)
            {
                sigObj.set_ExtraData("AdditionalData", "C# Wizard test: Additional data");
                byte[] signature = sigObj.RenderBitmap(null, 200, 150, "image/png", 0.5f, 0xff0000, 0xffffff, -1.0f, -1.0f, RBFlags.RenderOutputBinary | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                using (MemoryStream ms = new MemoryStream(signature))
                {
                    System.Drawing.Image newImage = System.Drawing.Image.FromStream(ms);
                    sigImage.Image = newImage;

                    // work with image here.
                    // You'll need to keep the MemoryStream open for
                    // as long as you want to work with your new image.
                    ms.Dispose();
                }
            }
            closeWizard();
        }
Пример #30
0
    public static void MuestraFirmadora(String UrlFirma, int Width, int Heigth)
    {
        SigCtl         sigCtl = new SigCtl();
        DynamicCapture dc     = new DynamicCaptureClass();

        DynamicCaptureResult res = dc.Capture(sigCtl, "Name of the person", "Title", null, null);

        if (res == DynamicCaptureResult.DynCaptOK)
        {
            SigObj sigObj = (SigObj)sigCtl.Signature;
            sigObj.set_ExtraData("AdditionalData", "C# test: Additional data");

            try
            {
                // Establecer url de salida de la imagen, el ancho, el alto, formato, e incluso grosor de pluma y color...
                sigObj.RenderBitmap(UrlFirma, Width, Heigth, "image/png", 0.5f, 0x000000, 0xffffff, 10.0f, 10.0f, RBFlags.RenderOutputFilename | RBFlags.RenderColor32BPP | RBFlags.RenderEncodeData);

                SignedDone();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        else if (res == DynamicCaptureResult.DynCaptPadError)
        {
            MessageBox.Show("No dispones de una tableta firmadora conectada al sistema.");
        }
        else
        {
            if (res != DynamicCaptureResult.DynCaptCancel)
            {
                MessageBox.Show("Ha ocurrido un error al conectarse a la firmadora.");
            }
        }
    }