步驟摘要

若要將簽名欄位新增至PDF檔案,請執行下列工作:

  1. 包含專案檔案。
  2. 建立簽章使用者端。
  3. 取得新增簽名欄位的PDF檔案。
  4. 新增簽名欄位。
  5. 將PDF檔案儲存為PDF檔案。

包含專案檔

將必要的檔案納入您的開發專案中。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。

必須將下列JAR檔案新增至專案的類別路徑:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-signatures-client.jar
  • adobe-utilities.jar (如果AEM Forms部署在JBoss上,則為必要)
  • jbossall-client.jar (如果AEM Forms部署在JBoss上,則為必要)

建立簽章使用者端

您必須先建立簽名服務使用者端,才能以程式設計方式執行簽名服務作業。

取得已新增簽名欄位的PDF檔案

取得新增簽名欄位的PDF檔案。

新增簽名欄位

若要成功將簽名欄位新增到PDF檔案中,請指定可識別簽名欄位位置的座標值。 (如果您新增隱藏的簽章欄位,這些值並非必要值。) 此外,您可以指定PDF檔案中的哪些欄位會在簽名套用至簽名欄位後鎖定。

將PDF檔案儲存為PDF檔案

簽名服務將簽名欄位新增到PDF檔案後,您可以將檔案儲存為PDF檔案,以便使用者可以在Acrobat或Adobe Reader中開啟它。

另請參閱

包含AEM Forms Java程式庫檔案

設定連線屬性

數位簽署PDF檔案

使用Java API新增簽名欄位

使用簽名API (Java)新增簽名欄位:

  1. 包含專案檔案

    在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-signatures-client.jar。

  2. 建立簽章使用者端

    • 建立包含連線屬性的ServiceClientFactory物件。
    • 使用它的建構函式並傳遞ServiceClientFactory物件來建立SignatureServiceClient物件。
  3. 取得新增簽名欄位的PDF檔案

    • 使用它的建構函式,並傳遞指定PDF檔案位置的字串值,來建立代表要新增簽名欄位的PDF檔案的java.io.FileInputStream物件。
    • 使用它的建構函式並傳遞java.io.FileInputStream物件來建立com.adobe.idp.Document物件。
  4. 新增簽名欄位

    • 使用它的建構函式建立指定簽章欄位位置的PositionRectangle物件。 在建構函式中,指定座標值。

    • 如果需要,請建立FieldMDPOptions物件,指定將數位簽章套用至簽章欄位時所鎖定的欄位。

    • 透過叫用SignatureServiceClient物件的addSignatureField方法並傳遞下列值,將簽章欄位新增至PDF檔案:

      • com.adobe.idpDocument物件,代表加入簽名欄位的PDF檔案。
      • 字串值,指定簽名欄位的名稱。
      • 代表新增簽名欄位之頁碼的java.lang.Integer值。
      • 指定簽章欄位位置的PositionRectangle物件。
      • FieldMDPOptions物件,指定PDF檔案中在數位簽章套用至簽章欄位後鎖定的欄位。 此引數值是選用的,您可以傳遞null
    • 指定各種執行階段值的PDFSeedValueOptions物件。 此引數值是選用的,您可以傳遞null

      addSignatureField方法傳回com.adobe.idpDocument物件代表包含簽名欄位的PDF檔案。

    注意
    您可以叫用SignatureServiceClient物件的addInvisibleSignatureField方法,以新增隱藏的簽章欄位。
  5. 將PDF檔案儲存為PDF檔案

    • 建立java.io.File物件,並確定副檔名為.pdf。
    • 叫用com.adobe.idpDocument物件的copyToFile方法,以將Document物件的內容複製到檔案。 確定您使用com.adobe.idpaddSignatureField方法傳回的Document物件。

使用Web服務API新增簽名欄位

若要使用Signature API (Web服務)新增簽名欄位:

  1. 包含專案檔案

    建立使用MTOM的Microsoft .NET專案。 確定您使用下列WSDL定義: http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1

    注意
    localhost取代為主控AEM Forms之伺服器的IP位址。
  2. 建立簽章使用者端

    • 使用預設建構函式建立SignatureServiceClient物件。

    • 使用System.ServiceModel.EndpointAddress建構函式建立SignatureServiceClient.Endpoint.Address物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如,http://localhost:8080/soap/services/SignatureService?WSDL)。 您不需要使用lc_version屬性。 當您建立服務參考時,會使用此屬性。)

    • 取得SignatureServiceClient.Endpoint.Binding欄位的值,以建立System.ServiceModel.BasicHttpBinding物件。 將傳回值轉換為BasicHttpBinding

    • System.ServiceModel.BasicHttpBinding物件的MessageEncoding欄位設為WSMessageEncoding.Mtom。 此值可確保使用MTOM。

    • 執行下列工作來啟用基本的HTTP驗證:

      • 將AEM表單使用者名稱指派給欄位SignatureServiceClient.ClientCredentials.UserName.UserName
      • 將對應的密碼值指派給欄位SignatureServiceClient.ClientCredentials.UserName.Password
      • 將常數值HttpClientCredentialType.Basic指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
      • 將常數值BasicHttpSecurityMode.TransportCredentialOnly指派給欄位BasicHttpBindingSecurity.Security.Mode
  3. 取得新增簽名欄位的PDF檔案

    • 使用物件的建構函式建立BLOB物件。 BLOB物件是用來儲存將包含簽章欄位的PDF檔案。
    • 建立System.IO.FileStream物件,方法為叫用其建構函式,並傳遞代表PDF檔案檔案位置和開啟檔案的模式的字串值。
    • 建立位元組陣列以儲存System.IO.FileStream物件的內容。 您可以取得System.IO.FileStream物件的Length屬性來決定位元組陣列的大小。
    • 呼叫System.IO.FileStream物件的Read方法,並傳遞要讀取的位元組陣列、起始位置和資料流長度,以資料流資料填入位元組陣列。
    • 以位元組陣列的內容指派物件的MTOM屬性,填入BLOB物件。
  4. 新增簽名欄位

    呼叫SignatureServiceClient物件的addSignatureField方法並傳遞下列值,以將簽章欄位新增至PDF檔案:

    • BLOB物件,代表加入簽名欄位的PDF檔案。
    • 字串值,指定簽名欄位名稱。
    • 整數值,代表新增簽名欄位的頁碼。
    • 指定簽章欄位位置的PositionRect物件。
    • FieldMDPOptions物件,指定PDF檔案中在數位簽章套用至簽章欄位後鎖定的欄位。 此引數值是選用的,您可以傳遞null
    • 指定各種執行階段值的PDFSeedValueOptions物件。 此引數值是選用的,您可以傳遞null

    addSignatureField方法傳回BLOB物件,該物件代表包含簽名欄位的PDF檔案。

  5. 將PDF檔案儲存為PDF檔案

    • 建立System.IO.FileStream物件,方法為叫用其建構函式,並傳遞代表將包含簽章欄位的PDF檔案的檔案位置以及開啟檔案的模式的字串值。
    • 建立位元組陣列,儲存addSignatureField方法傳回的BLOB物件的內容。 取得BLOB物件的binaryData資料成員的值,以填入位元組陣列。
    • 透過叫用它的建構函式並傳遞System.IO.FileStream物件來建立System.IO.BinaryWriter物件。
    • 呼叫System.IO.BinaryWriter物件的Write方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。

正在擷取簽章欄位名稱

您可以擷取所有簽名欄位的名稱,這些欄位位於您要簽署或認證的PDF檔案中。 如果您不確定PDF檔案中的簽名欄位名稱,或者您想要驗證這些名稱,則可以使用程式擷取它們。 簽章服務傳回簽章欄位的完整名稱,例如form1[0].grantApplication[0].page1[0].SignatureField1[0]

注意
如需有關簽章服務的詳細資訊,請參閱AEM Forms的服務參考

步驟摘要

若要擷取簽名欄位名稱,請執行下列工作:

  1. 包含專案檔案。
  2. 建立簽章使用者端。
  3. 取得包含簽名欄位的PDF檔案。
  4. 擷取簽章欄位名稱。

包含專案檔

將必要的檔案納入您的開發專案中。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。

必須將下列JAR檔案新增至專案的類別路徑:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-signatures-client.jar
  • adobe-utilities.jar (如果AEM Forms部署在JBoss上,則為必要)
  • jbossall-client.jar (如果AEM Forms部署在JBoss上,則為必要)

如需關於這些JAR檔案位置的資訊,請參閱包含AEM Forms Java程式庫檔案

建立簽章使用者端

您必須先建立簽名服務使用者端,才能以程式設計方式執行簽名服務作業。

取得包含簽章欄位的PDF檔案

擷取包含簽名欄位的PDF檔案。

擷取簽章欄位名稱

擷取包含一或多個簽名欄位的PDF檔案後,即可擷取簽名欄位名稱。

另請參閱

使用Java API擷取簽名欄位名稱

使用Web服務API擷取簽名欄位

包含AEM Forms Java程式庫檔案

設定連線屬性

新增簽名欄位

使用Java API擷取簽名欄位名稱

使用簽名API (Java)擷取簽名欄位名稱:

  1. 包含專案檔案

    在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-signatures-client.jar。

  2. 建立簽章使用者端

    • 建立包含連線屬性的ServiceClientFactory物件。
    • 使用它的建構函式並傳遞ServiceClientFactory物件來建立SignatureServiceClient物件。
  3. 取得包含簽名欄位的PDF檔案

    • 使用它的建構函式並傳遞指定PDF檔案位置的字串值,建立代表包含簽名欄位的PDF檔案的java.io.FileInputStream物件。
    • 使用它的建構函式並傳遞java.io.FileInputStream物件來建立com.adobe.idp.Document物件。
  4. 擷取簽章欄位名稱

    • 叫用SignatureServiceClient物件的getSignatureFieldList方法,並傳遞包含簽章欄位之PDF檔案的com.adobe.idp.Document物件,以擷取簽章欄位名稱。 此方法會傳回java.util.List物件,其中每個元素都包含PDFSignatureField物件。 使用此物件,您可以取得有關簽名欄位的其他資訊,例如它是否可見。
    • 逐一檢視java.util.List物件,以判斷是否有簽章欄位名稱。 對於PDF檔案中的每一個簽章欄位,您可以取得個別的PDFSignatureField物件。 若要取得簽章欄位的名稱,請叫用PDFSignatureField物件的getName方法。 此方法會傳回指定簽名欄位名稱的字串值。

使用Web服務API擷取簽名欄位

使用簽名API (Web服務)擷取簽名欄位名稱:

  1. 包含專案檔案

    建立使用MTOM的Microsoft .NET專案。 確定您使用下列WSDL定義: http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1

    注意
    localhost取代為主控AEM Forms之伺服器的IP位址。
  2. 建立簽章使用者端

    • 使用預設建構函式建立SignatureServiceClient物件。

    • 使用System.ServiceModel.EndpointAddress建構函式建立SignatureServiceClient.Endpoint.Address物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如,http://localhost:8080/soap/services/SignatureService?WSDL)。 您不需要使用lc_version屬性。 當您建立服務參考時,會使用此屬性。)

    • 取得SignatureServiceClient.Endpoint.Binding欄位的值,以建立System.ServiceModel.BasicHttpBinding物件。 將傳回值轉換為BasicHttpBinding

    • System.ServiceModel.BasicHttpBinding物件的MessageEncoding欄位設為WSMessageEncoding.Mtom。 此值可確保使用MTOM。

    • 執行下列工作來啟用基本的HTTP驗證:

      • 將AEM表單使用者名稱指派給欄位SignatureServiceClient.ClientCredentials.UserName.UserName
      • 將對應的密碼值指派給欄位SignatureServiceClient.ClientCredentials.UserName.Password
      • 將常數值HttpClientCredentialType.Basic指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
      • 將常數值BasicHttpSecurityMode.TransportCredentialOnly指派給欄位BasicHttpBindingSecurity.Security.Mode
  3. 取得包含簽名欄位的PDF檔案

    • 使用物件的建構函式建立BLOB物件。 BLOB物件是用來儲存包含簽章欄位的PDF檔案。
    • 建立System.IO.FileStream物件,方法為叫用其建構函式,並傳遞代表PDF檔案檔案位置和開啟檔案的模式的字串值。
    • 建立位元組陣列以儲存System.IO.FileStream物件的內容。 您可以取得System.IO.FileStream物件的Length屬性來決定位元組陣列的大小。
    • 呼叫System.IO.FileStream物件的Read方法,並傳遞要讀取的位元組陣列、起始位置和資料流長度,以資料流資料填入位元組陣列。
    • 將位元組陣列內容指派給物件的MTOM欄位,以填入BLOB物件。
  4. 擷取簽章欄位名稱

    • 叫用SignatureServiceClient物件的getSignatureFieldList方法,並傳遞包含簽章欄位之PDF檔案的BLOB物件,以擷取簽章欄位名稱。 此方法會傳回MyArrayOfPDFSignatureField集合物件,其中每個元素都包含PDFSignatureField物件。
    • 逐一檢視MyArrayOfPDFSignatureField物件,以判斷是否有簽章欄位名稱。 對於PDF檔案中的每個簽章欄位,您可以取得PDFSignatureField物件。 若要取得簽章欄位的名稱,請叫用PDFSignatureField物件的getName方法。 此方法會傳回指定簽名欄位名稱的字串值。

修改簽章欄位

您可以使用Java API和Web服務API來修改PDF檔案中的簽名欄位。 修改簽章欄位涉及處理其簽章欄位鎖定字典值或種子值字典值。

欄位鎖定字典 ​指定簽署簽章欄位時鎖定的欄位清單。 鎖定的欄位可防止使用者變更欄位。 種子值字典 ​包含套用簽章時使用的限制資訊。 例如,您可以變更在不使簽名失效的情況下控制可能發生的動作的許可權。

透過修改現有簽名欄位,您可以變更PDF檔案以反映不斷變化的業務需求。 例如,新業務需求可能需要在簽署檔案後鎖定所有檔案欄位。

本節說明如何透過修改欄位鎖定字典和種子值字典值來修改簽名欄位。 簽名欄位簽署時,對簽名欄位鎖定字典所做的變更會導致PDF檔案中的所有欄位被鎖定。 對種子值字典所做的變更會禁止對檔案進行特定型別的變更。

注意
如需有關簽章服務和修改簽章欄位的詳細資訊,請參閱AEM Forms的服務參考

步驟摘要

若要修改PDF檔案中的簽名欄位,請執行下列工作:

  1. 包含專案檔案。
  2. 建立簽章使用者端。
  3. 取得包含要修改之簽名欄位的PDF檔案。
  4. 設定字典值。
  5. 修改簽章欄位。
  6. 將PDF檔案儲存為PDF檔案。

包含專案檔

在您的開發專案中包含必要的檔案。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。

必須將下列JAR檔案新增至專案的類別路徑:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-signatures-client.jar
  • adobe-utilities.jar (如果AEM Forms部署在JBoss上,則為必要)
  • jbossall-client.jar (如果AEM Forms部署在JBoss上,則為必要)

如需關於這些JAR檔案位置的資訊,請參閱包含LiveCycleJava程式庫檔案

建立簽章使用者端

您必須先建立簽名服務使用者端,才能以程式設計方式執行簽名服務作業。

取得包含要修改之簽章欄位的PDF檔案

擷取包含要修改之簽名欄位的PDF檔案。

設定字典值

若要修改簽章欄位,請將值指派給其欄位鎖定字典或種子值字典。 指定簽章欄位鎖定字典值涉及指定簽章欄位簽署時鎖定的PDF檔案欄位。 (本節將討論如何鎖定所有欄位。)

可以設定以下種子值字典值:

  • 修訂檢查:指定簽章套用至簽章欄位時,是否執行撤銷檢查。

  • 憑證選項:指派值給憑證種子值字典。 在指定憑證選項之前,建議您先熟悉憑證種子值字典。 (請參閱PDF參考。)

  • 摘要選項:指派用於簽署的摘要演演算法。 有效值為SHA1、SHA256、SHA384、SHA512和RIPEMD160。

  • 篩選器:指定用於簽章欄位的篩選器。 例如,您可以使用Adobe.PPKLite篩選器。 (請參閱PDF參考。)

  • 標幟選項:指定與此簽章欄位關聯的標幟值。 值1表示簽署者必須僅使用專案的指定值。 值為0表示允許使用其他值。 以下是Bit位置:

    • 1(篩選器): ​用來簽署簽章欄位的簽章處理常式
    • 2 (SubFilter): ​表示簽署時可使用的編碼之名稱陣列
    • 3 (V):簽章處理常式簽署簽章欄位所需的最低版本號碼
    • 4 (原因): ​指定簽署檔案可能原因的字串陣列
    • 5 (PDFLegalWarnings): ​指定可能合法證明的字串陣列
  • 法律證明:當檔案通過認證時,會自動掃描特定型別的內容,使檔案的可見內容模糊或誤導。 例如,註解可能會模糊文字,而這些文字對於瞭解認證內容非常重要。 掃描程式會產生警告,指出此型別的內容是否存在。 此外,也為可能產生警告的內容提供額外說明。

  • 許可權:指定可在PDF檔案上使用而不使簽章失效的許可權。

  • 原因:指定必須簽署此檔案的原因。

  • 時間戳記:指定時間戳記選項。 例如,您可以設定所使用之時間戳記伺服器的URL。

  • 版本:指定要用來簽署簽章欄位的簽章處理常式的最小版本號碼。

修改簽章欄位

建立「簽名」服務使用者端、擷取包含要修改之簽名欄位的PDF檔案,以及設定說明值之後,您可以指示「簽名」服務修改簽名欄位。 接著,Signature服務會傳回包含修改過之簽名欄位的PDF檔案。 原始PDF檔案不受影響。

將PDF檔案儲存為PDF檔案

將包含已修改簽名欄位的PDF檔案儲存為PDF檔案,以便使用者可以在Acrobat或Adobe Reader中開啟它。

另請參閱

包含AEM Forms Java程式庫檔案

設定連線屬性

簽名服務API快速啟動

數位簽署PDF檔案

使用Java API修改簽名欄位

使用簽名API (Java)修改簽名欄位:

  1. 包含專案檔案

    在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-signatures-client.jar。

  2. 建立簽章使用者端

    • 建立包含連線屬性的ServiceClientFactory物件。
    • 使用它的建構函式並傳遞ServiceClientFactory物件來建立SignatureServiceClient物件。
  3. 取得包含要修改之簽名欄位的PDF檔案

    • 建立java.io.FileInputStream物件,代表包含要修改之簽章欄位的PDF檔案,方法是使用其建構函式,並傳遞指定PDF檔案位置的字串值。
    • 使用它的建構函式並傳遞java.io.FileInputStream物件來建立com.adobe.idp.Document物件。
  4. 設定字典值

    • 使用物件的建構函式建立PDFSignatureFieldProperties物件。 PDFSignatureFieldProperties物件儲存簽章欄位鎖定字典和種子值字典資訊。
    • 使用物件的建構函式建立PDFSeedValueOptionSpec物件。 此物件可讓您設定種子值字典值。
    • 叫用PDFSeedValueOptionSpec物件的setMdpValue方法並傳遞MDPPermissions.NoChanges列舉值,不允許變更PDF檔案。
    • 使用物件的建構函式建立FieldMDPOptionSpec物件。 此物件可讓您設定簽章欄位鎖定字典值。
    • 呼叫FieldMDPOptionSpec物件的setMdpValue方法並傳遞FieldMDPAction.ALL列舉值,以鎖定PDF檔案中的所有欄位。
    • 透過叫用PDFSignatureFieldProperties物件的setSeedValue方法並傳遞PDFSeedValueOptionSpec物件來設定種子值字典資訊。
    • 透過叫用PDFSignatureFieldProperties物件的setFieldMDP方法並傳遞FieldMDPOptionSpec物件來設定簽章欄位鎖定字典資訊。
    注意
    若要檢視所有可設定的種子值字典值,請參閱PDFSeedValueOptionSpec類別參考。 (請參閱AEM Forms API參考。)
  5. 修改簽章欄位

    呼叫SignatureServiceClient物件的modifySignatureField方法並傳遞下列值,以修改簽章欄位:

    • 儲存包含要修改之簽章欄位的PDF檔案的com.adobe.idp.Document物件
    • 字串值,指定簽名欄位的名稱
    • 儲存簽章欄位鎖定字典和種子值字典資訊的PDFSignatureFieldProperties物件

    modifySignatureField方法傳回com.adobe.idp.Document物件,該物件儲存包含修改簽名欄位的PDF檔案。

  6. 將PDF檔案儲存為PDF檔案

    • 建立java.io.File物件,並確定副檔名為.pdf。
    • 叫用com.adobe.idp.Document物件的copyToFile方法,將com.adobe.idp.Document物件的內容複製到檔案。 請確定您使用的是modifySignatureField方法傳回的com.adobe.idp.Document物件。

使用Web服務API修改簽名欄位

使用簽名API (Web服務)修改簽名欄位:

  1. 包含專案檔案

    建立使用MTOM的Microsoft .NET專案。 確定您使用下列WSDL定義: http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1

    注意
    localhost取代為主控AEM Forms之伺服器的IP位址。
  2. 建立簽章使用者端

    • 使用預設建構函式建立SignatureServiceClient物件。

    • 使用System.ServiceModel.EndpointAddress建構函式建立SignatureServiceClient.Endpoint.Address物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如,http://localhost:8080/soap/services/SignatureService?WSDL)。 您不需要使用lc_version屬性。 當您建立服務參考時,會使用此屬性。)

    • 取得SignatureServiceClient.Endpoint.Binding欄位的值,以建立System.ServiceModel.BasicHttpBinding物件。 將傳回值轉換為BasicHttpBinding

    • System.ServiceModel.BasicHttpBinding物件的MessageEncoding欄位設為WSMessageEncoding.Mtom。 此值可確保使用MTOM。

    • 執行下列工作來啟用基本的HTTP驗證:

      • 將AEM表單使用者名稱指派給欄位SignatureServiceClient.ClientCredentials.UserName.UserName
      • 將對應的密碼值指派給欄位SignatureServiceClient.ClientCredentials.UserName.Password
      • 將常數值HttpClientCredentialType.Basic指派給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
      • 將常數值BasicHttpSecurityMode.TransportCredentialOnly指派給欄位BasicHttpBindingSecurity.Security.Mode
  3. 取得包含要修改之簽名欄位的PDF檔案

    • 使用物件的建構函式建立BLOB物件。 BLOB物件是用來儲存包含要修改之簽章欄位的PDF檔案。
    • 建立System.IO.FileStream物件,方法為叫用其建構函式,並傳遞代表PDF檔案檔案位置和開啟檔案的模式的字串值。
    • 建立位元組陣列以儲存System.IO.FileStream物件的內容。 您可以取得System.IO.FileStream物件的Length屬性來決定位元組陣列的大小。
    • 呼叫System.IO.FileStream物件的Read方法,並傳遞要讀取的位元組陣列、起始位置和資料流長度,以資料流資料填入位元組陣列。
    • 將物件的MTOM屬性指派給位元組陣列的內容,以填入BLOB物件。
  4. 設定字典值

    • 使用物件的建構函式建立PDFSignatureFieldProperties物件。 此物件儲存簽章欄位鎖定字典和種子值字典資訊。
    • 使用物件的建構函式建立PDFSeedValueOptionSpec物件。 此物件可讓您設定種子值字典值。
    • MDPPermissions.NoChanges列舉值指派給PDFSeedValueOptionSpec物件的mdpValue資料成員,不允許變更PDF檔案。
    • 使用物件的建構函式建立FieldMDPOptionSpec物件。 此物件可讓您設定簽章欄位鎖定字典值。
    • FieldMDPAction.ALL列舉值指派給FieldMDPOptionSpec物件的mdpValue資料成員,以鎖定PDF檔案中的所有欄位。
    • PDFSeedValueOptionSpec物件指派給PDFSignatureFieldProperties物件的seedValue資料成員,以設定種子值字典資訊。
    • FieldMDPOptionSpec物件指派給PDFSignatureFieldProperties物件的fieldMDP資料成員,以設定簽章欄位鎖定字典資訊。
    注意
    若要檢視所有可設定的種子值字典值,請參閱PDFSeedValueOptionSpec類別參考。 (請參閱AEM Forms API參考)。
  5. 修改簽章欄位

    呼叫SignatureServiceClient物件的modifySignatureField方法並傳遞下列值,以修改簽章欄位:

    • 儲存包含要修改之簽章欄位的PDF檔案的BLOB物件
    • 字串值,指定簽名欄位的名稱
    • 儲存簽章欄位鎖定字典和種子值字典資訊的PDFSignatureFieldProperties物件

    modifySignatureField方法傳回BLOB物件,該物件儲存包含修改簽名欄位的PDF檔案。

  6. 將PDF檔案儲存為PDF檔案

    • 建立System.IO.FileStream物件,方法是叫用其建構函式,並傳遞代表將包含簽章欄位之PDF檔案的檔案位置的字串值,以及開啟檔案的模式。
    • 建立位元組陣列,儲存addSignatureField方法傳回的BLOB物件內容。 取得BLOB物件的MTOM資料成員的值,以填入位元組陣列。
    • 透過叫用它的建構函式並傳遞System.IO.FileStream物件來建立System.IO.BinaryWriter物件。
    • 呼叫System.IO.BinaryWriter物件的Write方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。