The sample application is working now with the latest weekly build but the following sample is not working:
//Create PDF
using (PdfDocument document = new PdfDocument())
{
//Add a page and text to the document.
PdfPage page = document.Pages.Add();
page.Graphics.DrawString("Hello World!!!", new PdfStandardFont(PdfFontFamily.Helvetica, 20), PdfBrushes.Black, new Syncfusion.Drawing.PointF(0, 0));
//Save to file system
using (Stream tempPdfNameStream = new FileStream("file1.pdf", FileMode.Create))
{
document.Save(tempPdfNameStream);
}
document.Close();
}
//Add signature to file
using (FileStream fileStream = new FileStream("file1.pdf", FileMode.Open))
using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument(fileStream))
{
//Load certificate
PdfCertificate pdfCert = null;
using (FileStream certificateStream1 = new FileStream(@".pfx", FileMode.Open, FileAccess.Read))
{
pdfCert = new PdfCertificate(certificateStream1, "");
}
//Add a digital signature.
PdfSignature signature = new PdfSignature(loadedDocument, loadedDocument.Pages[0], pdfCert, "Signature");
//Save doc to file system
using (FileStream fileStream2 = new FileStream("file2.pdf", FileMode.Create))
{
loadedDocument.Save(fileStream2);
}
loadedDocument.Close();
}
//Change PDF after signature
using (FileStream fileStream = new FileStream("file2.pdf", FileMode.Open))
using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument(fileStream))
{
loadedDocument.Pages[0].Graphics.DrawString("Change PDF!!!", new PdfStandardFont(PdfFontFamily.Helvetica, 30), PdfBrushes.Black, new Syncfusion.Drawing.PointF(100, 100));
//Save doc to file system
using (FileStream fileStream2 = new FileStream("fileChanged.pdf", FileMode.Create))
{
loadedDocument.Save(fileStream2);
}
loadedDocument.Close();
}
//Validate
using (FileStream fileStream = new FileStream("fileChanged.pdf", FileMode.Open))
using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument(fileStream))
{
var signatureField = loadedDocument.Form.Fields[0] as PdfLoadedSignatureField;
var res = signatureField.ValidateSignature();
if (!res.IsDocumentModified) throw new Exception("The value of IsDocumentModified when validating the PDF document should be true and not false!");
}
Console.WriteLine("Everyting works like expected");
Console.ReadLine();