Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini menjelaskan cara menambahkan permintaan tanda tangan ke dokumen XPS. Permintaan tanda tangan meminta pengguna untuk menandatangani dokumen jika dia setuju dengan niat tanda tangan.
Sebelum menggunakan contoh kode berikut dalam program Anda, baca penafian di Tugas Pemrograman Tanda Tangan Digital Umum.
Untuk menambahkan permintaan tanda tangan ke Dokumen XPS:
- Muat dokumen XPS ke pengelola tanda tangan, seperti yang dijelaskan dalam Inisialisasi Signature Manager.
- Tambahkan blok tanda tangan ke pengelola tanda tangan.
- Buat permintaan tanda tangan di blok tanda tangan baru.
- Atur properti permintaan tanda tangan:
- Atur niat tanda tangan.
- Atur nama orang yang tanda tangannya diminta (penanda tangan yang diminta).
- Atur tanggal tanda tangan diperlukan.
- Atur properti tanda tangan lainnya sesuai kebutuhan.
Contoh kode berikut mengilustrasikan cara menambahkan permintaan tanda tangan ke dokumen 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;
}
Topik terkait
-
Digunakan di bagian ini
-
Untuk informasi selengkapnya