Hinzufügen einer Signaturanforderung zu einem XPS-Dokument
In diesem Thema wird beschrieben, wie Sie einem XPS-Dokument eine Signaturanforderung hinzufügen. Eine Signaturanforderung fordert Benutzer*innen auf, ein Dokument zu signieren, wenn sie der Signaturabsicht zustimmen.
Bevor Sie die folgenden Codebeispiele in Ihrem Programm verwenden, lesen Sie den Haftungsausschluss in Allgemeine Aufgaben bei der Programmierung digitaler Signaturen.
Hinzufügen einer Signaturanforderung zu einem XPS-Dokument:
- Laden Sie das XPS-Dokument in einen Signatur-Manager, wie in Signatur-Manager initialisieren beschrieben.
- Fügen Sie dem Signatur-Manager einen Signaturblock hinzu.
- Erstellen Sie eine Signaturanforderung im neuen Signaturblock.
- Legen Sie die Eigenschaften der Signaturanforderung fest:
- Legen Sie die Signaturabsicht fest.
- Legen Sie den Namen der Person fest, deren Signatur angefordert wird (der angeforderte Signaturgeber).
- Legen Sie das Datum fest, an dem die Signatur erforderlich ist.
- Legen Sie bei Bedarf andere Signatureigenschaften fest.
Das folgende Codebeispiel veranschaulicht das Hinzufügen einer Signaturanforderung zu einem XPS-Dokument.
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;
}
Zugehörige Themen
-
In diesem Abschnitt verwendet
-
Weitere Informationen