Skip to content

Instantly share code, notes, and snippets.

@bjoerntx
Created September 12, 2022 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bjoerntx/d3911a5638f6f5bb2fc5156e35a60482 to your computer and use it in GitHub Desktop.
Save bjoerntx/d3911a5638f6f5bb2fc5156e35a60482 to your computer and use it in GitHub Desktop.
[HttpPost]
public string SignDocument([FromBody] TXTextControl.Web.MVC.DocumentViewer.Models.SignatureData data) {
byte[] bPDF;
// create temporary ServerTextControl
using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) {
tx.Create();
// load the document
tx.Load(Convert.FromBase64String(data.SignedDocument.Document),
TXTextControl.BinaryStreamType.InternalUnicodeFormat);
// create a certificate
X509Certificate2 cert = new X509Certificate2("App_Data/textcontrolself.pfx", "123");
// assign the certificate to the signature fields
TXTextControl.SaveSettings saveSettings = new TXTextControl.SaveSettings() {
CreatorApplication = "TX Text Control Sample Application",
SignatureFields = new DigitalSignature[] {
new TXTextControl.DigitalSignature(cert, null, "txsign")
}
};
// save the document as PDF
tx.Save(out bPDF, TXTextControl.BinaryStreamType.AdobePDFA, saveSettings);
}
// return as Base64 encoded string
return Convert.ToBase64String(bPDF);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment