Discuss this help topic in SecureBlackbox Forum

Sign existing signature definition

To sign an existing signature definition you need to

  1. create an instance of TElOfficeOpenXPSSignatureHandler class and set its settings
  2. select the signature definition that you want to sign using TElOfficeOpenXPSDocument.SignatureDefinitionCount and TElOfficeOpenXPSDocument.SignatureDefinitions[] properties
  3. assign this signature handler to TElOfficeOpenXPSSignatureDefinition.SignatureHandler property
  4. call Sign() method to sign, after that close the document to flush changes
  5. C#:

    
    TElOfficeOpenXPSSignatureHandler OpenXPSSigHandler = new TElOfficeOpenXPSSignatureHandler();
    Document.AddSignature(OpenXPSSigHandler, true);
    
    OpenXPSSigHandler.AddDocument();
    if (Document.OpenXPSDocument.SignatureDefinitionCount > 0)
        Document.OpenXPSDocument.get_SignatureDefinitions(0).SignatureHandler = OpenXPSSigHandler;
    OpenXPSSigHandler.Sign(certificate);
    
    Delphi:
    
    OpenXPSSigHandler := TElOfficeOpenXPSSignatureHandler.Create(nil);
    Document.AddSignature(OpenXPSSigHandler, True);
    
    OpenXPSSigHandler.AddDocument();
    if Document.OpenXPSDocument.SignatureDefinitionCount > 0 then
      Document.OpenXPSDocument.SignatureDefinitions[0].SignatureHandler := OpenXPSSigHandler;
    
    OpenXPSSigHandler.Sign(Certificate);
    

    How To articles about XPS documents

    Discuss this help topic in SecureBlackbox Forum