private void button1_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "PDF document (*.pdf)|*.pdf"; DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { try { string pdfFile = dialog.FileName; List <PdfSignature> signatures = new List <PdfSignature>(); //open a pdf document and get its all signatures using (PdfDocument pdf = new PdfDocument(pdfFile)) { PdfFormWidget form = pdf.Form as PdfFormWidget; for (int i = 0; i < form.FieldsWidget.Count; i++) { PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget; if (field != null && field.Signature != null) { PdfSignature signature = field.Signature; signatures.Add(signature); } } //get the first signature PdfSignature signatureOne = signatures[0]; //detect if the pdf document was modified bool modified = signatureOne.VerifyDocModified(); if (modified) { MessageBox.Show("The document was modified"); } else { MessageBox.Show("The document was not modified"); } } } catch (Exception exe) { MessageBox.Show(exe.Message, "Spire.Pdf Demo", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void VerifySC_Click(object sender, EventArgs e) { err = m_SecuBSP.EnumerateDevice(); pdf = new PdfDocument(); OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "PDF document (*.pdf)|*.pdf"; DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { try { string pdfFile = dialog.FileName; List <PdfSignature> signatures = new List <PdfSignature>(); //Open a pdf document and get its all signatures using (PdfDocument pdf = new PdfDocument()) { pdf.LoadFromFile(pdfFile); PdfFormWidget form = pdf.Form as PdfFormWidget; for (int i = 0; i < form.FieldsWidget.Count; i++) { PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget; if (field != null && field.Signature != null) { PdfSignature signature = field.Signature; signatures.Add(signature); } } //Get the first signature PdfSignature signatureOne = signatures[0]; //Detect if the pdf document was modified bool modified = signatureOne.VerifyDocModified(); //FIND err = m_SecuBSP.EnumerateDevice(); m_SecuBSP.DeviceID = (Int16)DeviceID.AUTO; //OPEN err = m_SecuBSP.OpenDevice(); if (err == BSPError.ERROR_NONE) { if (!modified) { PdfDocumentInformation docInfo = pdf.DocumentInformation; err = m_SecuBSP.Capture(FIRPurpose.VERIFY); if (err == BSPError.ERROR_NONE) { err = m_SecuBSP.VerifyMatch(m_SecuBSP.FIRTextData, docInfo.Subject); if (err == BSPError.ERROR_NONE) { if (m_SecuBSP.IsMatched) { AutoClosingMessageBox.Show("The Document is Authentic", "", 1500); } else { AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500); } } } } else { AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500); } } else { AutoClosingMessageBox.Show("No Scanner Detected", "Error!", 1000); } } } catch (Exception exe) { MessageBox.Show("Document is not Authentic", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void VerifyDB_Click(object sender, EventArgs e) { if (matricTextBox.Text.Equals("") || matricTextBox.Text.Equals("Input Matric")) { MessageBox.Show("Please Input a Matric Number", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MySqlCommand command = new MySqlCommand("SELECT * FROM `data` WHERE `matric`=@user", db.getConnection()); command.Parameters.Add("@user", MySqlDbType.VarChar).Value = matricTextBox.Text; db.openConnection(); MySqlDataReader rdr = command.ExecuteReader(); f_data = ""; while (rdr.Read()) { f_data = rdr.GetString(4); } rdr.Close(); if (f_data.Equals("")) { MessageBox.Show("Wrong Matric Number", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { pdf = new PdfDocument(); OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "PDF document (*.pdf)|*.pdf"; DialogResult result = dialog.ShowDialog(); if (result == DialogResult.OK) { try { string pdfFile = dialog.FileName; List <PdfSignature> signatures = new List <PdfSignature>(); //Open a pdf document and get its all signatures using (PdfDocument pdf = new PdfDocument()) { pdf.LoadFromFile(pdfFile); PdfFormWidget form = pdf.Form as PdfFormWidget; for (int i = 0; i < form.FieldsWidget.Count; i++) { PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget; if (field != null && field.Signature != null) { PdfSignature signature = field.Signature; signatures.Add(signature); } } //Get the first signature PdfSignature signatureOne = signatures[0]; //Detect if the pdf document was modified bool modified = signatureOne.VerifyDocModified(); if (!modified) { PdfDocumentInformation docInfo = pdf.DocumentInformation; err = m_SecuBSP.Capture(FIRPurpose.VERIFY); err = m_SecuBSP.VerifyMatch(f_data, docInfo.Subject); if (err == BSPError.ERROR_NONE) { if (m_SecuBSP.IsMatched) { AutoClosingMessageBox.Show("The Document is Authentic", "", 1500); } else { AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500); } } } else { AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500); } } } catch (Exception exe) { MessageBox.Show("Document is not Authentic", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }
private void button1_Click(object sender, EventArgs e) { //Load PDF document from disk PdfDocument doc = new PdfDocument(); doc.LoadFromFile("../../../../../../Data/SignatureField.pdf"); PdfFormWidget widgets = doc.Form as PdfFormWidget; for (int i = 0; i < widgets.FieldsWidget.List.Count; i++) { PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget; if (widget is PdfSignatureFieldWidget) { //Get the field name string name = widget.Name; PdfSignatureFieldWidget signWidget = widget as PdfSignatureFieldWidget; //Sign with certificate selection in the windows certificate store System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(System.Security.Cryptography.X509Certificates.StoreLocation.CurrentUser); store.Open(System.Security.Cryptography.X509Certificates.OpenFlags.ReadOnly); //Manually chose the certificate in the store System.Security.Cryptography.X509Certificates.X509Certificate2Collection sel = System.Security.Cryptography.X509Certificates.X509Certificate2UI.SelectFromCollection(store.Certificates, null, null, System.Security.Cryptography.X509Certificates.X509SelectionFlag.SingleSelection); //Create a certificate using the certificate data from the store PdfCertificate cert = new PdfCertificate(sel[0].RawData); //Create a signature using the signature field PdfSignature signature = new PdfSignature(doc, signWidget.Page, cert, name, signWidget); //Load sign image source signature.SignImageSource = PdfImage.FromFile("../../../../../../Data/E-iceblueLogo.png"); //Set the dispay mode of graphics, if not set any, the default one will be applied signature.GraphicsMode = GraphicMode.SignImageAndSignDetail; signature.NameLabel = "Signer:"; signature.Name = sel[0].GetNameInfo(System.Security.Cryptography.X509Certificates.X509NameType.SimpleName, true); signature.ContactInfoLabel = "ContactInfo:"; signature.ContactInfo = signature.Certificate.GetNameInfo(System.Security.Cryptography.X509Certificates.X509NameType.SimpleName, true); signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "Chengdu"; signature.ReasonLabel = "Reason: "; signature.Reason = "The certificate of this document"; signature.DistinguishedNameLabel = "DN: "; signature.DistinguishedName = signature.Certificate.IssuerName.Name; signature.DocumentPermissions = PdfCertificationFlags.AllowFormFill | PdfCertificationFlags.ForbidChanges; signature.Certificated = true; //Set fonts, if not set, default ones will be applied signature.SignDetailsFont = new PdfFont(PdfFontFamily.TimesRoman, 10f); signature.SignNameFont = new PdfFont(PdfFontFamily.Courier, 15); //Set the sign image layout mode signature.SignImageLayout = SignImageLayout.None; } } //Save the Pdf document string output = "SignWithSmartCardUsingSignatureField_out.pdf"; doc.SaveToFile(output); //Launch the result file PDFDocumentViewer(output); }
private void button1_Click(object sender, EventArgs e) { //Create a pdf document. PdfDocument doc = new PdfDocument(); //Create one page. PdfPageBase page = doc.Pages.Add(); //Draw the page. DrawPage(page); String pfxPath = @"..\..\..\..\..\..\Data\Demo.pfx"; PdfCertificate cert = new PdfCertificate(pfxPath, "e-iceblue"); //signature fully. PdfSignature signature = new PdfSignature(doc, page, cert, "signature0"); //invisible signature. //signature.Bounds = new RectangleF(new PointF(20, 350), new SizeF(200, 100)); //display signature picture. //signature.ConfiguerGraphicPath = @"\signature.jpg"; //signature.ConfigGraphicType = ConfiguerGraphicType.Picture; //display signature text. signature.IsTag = true; signature.DigitalSignerLable = "Firmado Por:"; signature.DigitalSigner = "Alex Alvarado"; signature.ContactInfo = "Harry"; signature.Date = DateTime.Now; signature.Certificated = true; signature.DocumentPermissions = PdfCertificationFlags.AllowFormFill | PdfCertificationFlags.ForbidChanges; //create empty signature field. PdfSignatureField signature1Field = new PdfSignatureField(page, "signature1"); signature1Field.Bounds = new RectangleF(new PointF(300, 350), new SizeF(200, 100)); signature1Field.BorderWidth = 1.0f; signature1Field.BorderStyle = PdfBorderStyle.Solid; signature1Field.BorderColor = new PdfRGBColor(System.Drawing.Color.Black); signature1Field.HighlightMode = PdfHighlightMode.Outline; // display picture. //signature1Field.DrawImage(new PdfBitmap(m_DataDirectory + @"\SpirePdf-815.jpg"), 0, 0); doc.Form.Fields.Add(signature1Field); doc.SaveToFile("DigitalSignature.pdf"); doc.Close(); /* --------------------------------------------------------------------------------------- */ doc = new PdfDocument("DigitalSignature.pdf"); //signature empty signature field. PdfSignatureFieldWidget signature1FieldWidget = (doc.Form as PdfFormWidget).FieldsWidget["signature1"] as PdfSignatureFieldWidget; PdfSignature signature1 = new PdfSignature(doc, signature1FieldWidget.Page, cert, signature1FieldWidget.Name, signature1FieldWidget); signature1.IsTag = true; signature1.DigitalSignerLable = "Firmado Por:"; signature1.DigitalSigner = "Alex Alvarado"; signature1.ContactInfo = "Harry"; signature1.Date = DateTime.Now; //Save pdf file. doc.SaveToFile("DigitalSignature.pdf"); doc.Close(); //Launching the Pdf file. PDFDocumentViewer("DigitalSignature.pdf"); }