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; } } }
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 = "签字版连接故障!请检查签字版是否已经正确连接!"; } }
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); } } }
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); } } }
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); } }
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); } } }
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); } } } }
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); }
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(""); }
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); }
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; //} } }
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); } }
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; } } }
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(); }
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; } } }
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(); }
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(); }
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; } } }
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(); }
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(); }
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."); } } }