Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje, jak přidat žádost o podpis do dokumentu XPS. Žádost o podpis vyzve uživatele k podepsání dokumentu, pokud souhlasí s záměrem podpisu.
Před použitím následujících příkladů kódu ve vašem programu si přečtěte upozornění v Běžné úlohy programování digitálních podpisů.
Přidání žádosti o podpis do dokumentu XPS:
- Načtěte dokument XPS do správce podpisů, jak je popsáno v Inicializace správce podpisů.
- Přidejte blok podpisu do správce podpisu.
- Vytvořte žádost o podpis v novém bloku podpisu.
- Nastavte vlastnosti žádosti o podpis:
- Nastavte záměr podpisu.
- Nastavte jméno osoby, jejíž podpis je požadován (požadovaný podepisující osoba).
- Nastavte datum, kdy je podpis povinný.
- Podle potřeby nastavte další vlastnosti podpisu.
Následující příklad kódu ukazuje, jak přidat žádost o podpis do dokumentu 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;
}
Související témata
-
použitá v této části
-
IXpsSignatureRequest::SetRequestedSigner (nastavit požadovaného signatáře)
-
Pro více informací
-
chyby rozhraní API digitálního podpisu XPS