Aggiungere una richiesta di firma a un documento XPS
In questo argomento viene descritto come aggiungere una richiesta di firma a un documento XPS. Una richiesta di firma richiede a un utente di firmare un documento se accetta la finalità della firma.
Prima di usare gli esempi di codice seguenti nel programma, leggere la dichiarazione di non responsabilità in Common Digital Signature Programming Tasks (Attività comuni di programmazione delle firme digitali).
Per aggiungere una richiesta di firma a un documento XPS:
- Caricare il documento XPS in un gestore delle firme, come descritto in Inizializzare Signature Manager.
- Aggiungere un blocco di firma al gestore delle firme.
- Creare una richiesta di firma nel nuovo blocco di firma.
- Impostare le proprietà della richiesta di firma:
- Impostare la finalità della firma.
- Impostare il nome della persona la cui firma è richiesta (il firmatario richiesto).
- Impostare la data di richiesta della firma.
- Impostare altre proprietà della firma in base alle esigenze.
Nell'esempio di codice seguente viene illustrato come aggiungere una richiesta di firma a un documento 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;
}
Argomenti correlati
-
Usato in questa sezione
-
Ulteriori informazioni