I tried this code below, but I could not sign the document without opening it. Is it possible to sign a document with a certificate without opening it.
object TempFilePath = TemporaryFolder + FileTempName;
object Visible = false;
object readonlyfile = false;
try
{
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.ApplicationClass wordapp = new
Microsoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word.Document wordDocument = wordapp.Documents.Open(ref
TempFilePath, ref missing,
ref readonlyfile, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref Visible, ref missing, ref missing,
ref missing, ref missing);
SignatureSet signatureSet = wordDocument.Signatures;
Signature objSignature = signatureSet.Add();
if (objSignature == null)
{
DocumentNotSigned(item);
return false;
}
else
{
signatureSet.Commit();
object saveChanges = true;
wordDocument.Close(ref saveChanges, ref missing, ref missing);
wordapp.Quit(ref missing, ref missing, ref missing);
return true;
}
source
share