Ajouter une demande de signature à un document XPS
Cette rubrique explique comment ajouter une demande de signature à un document XPS. Une demande de signature invite un utilisateur à signer un document s’il accepte l’intention de signature.
Avant d’utiliser les exemples de code suivants dans votre programme, lisez l’exclusion de responsabilité dans les tâches de programmation de signature numérique courantes.
Pour ajouter une demande de signature à un document XPS :
- Chargez le document XPS dans un gestionnaire de signature, comme décrit dans initialiser le gestionnaire de signatures.
- Ajoutez un bloc de signature au gestionnaire de signatures.
- Créez une demande de signature dans le nouveau bloc de signature.
- Définissez les propriétés de la demande de signature :
- Définissez l’intention de signature.
- Définissez le nom de la personne dont la signature est demandée (le signataire demandé).
- Définissez la date à laquelle la signature est requise.
- Définissez d’autres propriétés de signature selon vos besoins.
L’exemple de code suivant montre comment ajouter une demande de signature à un document XPS.
HRESULT
AddSignatureRequestToDocument (
__in IXpsSignatureManager *signatureManager,
__in LPCWSTR reasonForSignatureRequest,
__in LPCWSTR nameOfRequestedSigner,
__in LPCWSTR requestSignByDate
)
{
HRESULT hr = S_OK;
IXpsSignatureBlock *signatureDefinition = NULL;
IXpsSignatureRequest *signatureRequest = NULL;
// Create a new signature block and get a pointer to it
hr = signatureManager->AddSignatureBlock (NULL, 0, &signatureDefinition);
if (SUCCEEDED(hr)) {
// Create a new signature request to use for this signature block
hr = signatureDefinition->CreateRequest(NULL, &signatureRequest);
}
if (SUCCEEDED(hr)) {
// Initialize the properties of the signature request
// Set the string that describes the purpose of the signature
// to the person who will sign the document.
hr = signatureRequest->SetIntent(reasonForSignatureRequest);
}
if (SUCCEEDED(hr)) {
// Set the name of the person whose signature is requested.
hr = signatureRequest->SetRequestedSigner(nameOfRequestedSigner);
}
if (SUCCEEDED(hr)) {
// Set the date that the person should sign the document.
// The person is requested to sign the document on or before
// the date specified in this field. Refer to the help text
// for the correct format of this string.
hr = signatureRequest->SetRequestSignByDate(requestSignByDate);
}
if (NULL != signatureDefinition) signatureDefinition->Release();
if (NULL != signatureRequest) signatureRequest->Release();
return hr;
}
Rubriques connexes
-
Utilisé dans cette section
-
Pour plus d’informations