Adicionar uma solicitação de assinatura a um documento XPS
Este tópico descreve como adicionar uma solicitação de assinatura a um documento XPS. Uma solicitação de assinatura solicita que um usuário assine um documento se ele concordar com a intenção de assinatura.
Antes de usar os exemplos de código a seguir em seu programa, leia o aviso de isenção de responsabilidade em Tarefas comuns de programação de assinaturas digitais.
Para adicionar uma solicitação de assinatura a um documento XPS:
- Carregue o documento XPS em um gerenciador de assinaturas, conforme descrito em Inicializar o Gerenciador de Assinaturas.
- Adicionar um bloco de assinatura ao gerenciador de assinaturas.
- Criar uma solicitação de assinatura no novo bloco de assinatura.
- Definir as propriedades da solicitação de assinatura:
- Definir a intenção da assinatura.
- Defina o nome da pessoa cuja assinatura é solicitada (o signatário solicitado).
- Defina a data em que a assinatura é obrigatória.
- Defina outras propriedades de assinatura, conforme exigido.
O exemplo de código a seguir ilustra como adicionar uma solicitação de assinatura a um 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;
}
Tópicos relacionados
-
Usado Nesta Seção
-
Para obter mais informações