轉譯已啟用許可權的Forms rendering-rights-enabled-forms
Forms服務可轉譯已套用使用許可權的表單。 使用許可權與Acrobat中預設提供的功能有關,但不適用於Adobe Reader,例如新增註解至表單或填寫表單欄位及儲存表單的功能。 已套用使用許可權的Forms稱為許可權啟用表單。 在Adobe Reader中開啟許可權啟用表單的使用者,可以執行為該表單啟用的操作。
若要將使用許可權套用至表單,Acrobat Reader DC擴充功能服務必須是AEM表單安裝的一部分。 此外,您必須具備有效的認證,才能將使用許可權套用至PDF檔案。 也就是說,您必須先正確設定Acrobat Reader DC擴充功能服務,才能轉譯啟用許可權的表單。 (請參閱關於Acrobat Reader DC擴充功能服務。)
enableComments
、enableCommentsOnline
、enableEmbeddedFiles
或enableDigitalSignatures
。 (請參閱使用可流動配置預先填入Forms。)步驟摘要 summary-of-steps
若要轉譯啟用許可權的表單,請執行下列工作:
- 包含專案檔案。
- 建立Forms使用者端API物件。
- 設定使用許可權執行階段選項。
- 轉譯啟用許可權的表單。
- 將啟用許可權的表單寫入使用者端網頁瀏覽器。
包含專案檔
將必要的檔案納入您的開發專案中。 如果您使用Java建立使用者端應用程式,請包含必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Forms使用者端API物件
您必須先建立Forms服務使用者端,才能以程式設計方式執行Forms服務使用者端API作業。
設定使用許可權執行階段選項
設定使用許可權執行階段選項,以顯示啟用許可權的表單。 指定用來套用使用許可權至表單的認證別名。 指定別名值之後,您即可指定要套用至表單的每個使用許可權。
轉譯啟用許可權的表單
若要轉譯已啟用許可權的表單,您可以使用與轉譯沒有使用許可權的表單相同的應用程式邏輯。 唯一的區別是,您必須確保使用許可權執行階段選項包含在應用程式邏輯中。
將表單資料流寫入使用者端網頁瀏覽器
Forms服務轉譯啟用許可權的表單時,會傳回您必須寫入使用者端網頁瀏覽器的表單資料流。 將表單寫入使用者端網頁瀏覽器後,使用者即可看到表單。 在Adobe Reader中檢視許可權啟用表單的使用者,可執行針對該表單啟用的操作。
另請參閱
使用Java API轉譯啟用許可權的表單 render-rights-enabled-forms-using-the-java-api
使用Forms API (Java)轉譯已啟用許可權的表單:
-
包含專案檔案
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-forms-client.jar。
-
建立Forms使用者端API物件
- 建立包含連線屬性的
ServiceClientFactory
物件。 - 使用它的建構函式並傳遞
ServiceClientFactory
物件來建立FormsServiceClient
物件。
- 建立包含連線屬性的
-
設定使用許可權執行階段選項
- 使用物件的建構函式建立
ReaderExtensionSpec
物件。 - 透過叫用
ReaderExtensionSpec
物件的setReCredentialAlias
方法來指定認證的別名,並指定代表別名值的字串值。 - 透過叫用屬於
ReaderExtensionSpec
物件的對應方法來設定每個使用權利。 不過,只有當您參照的認證可讓您進行時,才能設定使用許可權。 也就是說,如果認證不允許您設定使用方式,您就無法設定使用方式。 例如。 若要設定使用許可權,讓使用者能夠填寫表單欄位並儲存表單,請叫用ReaderExtensionSpec
物件的setReFillIn
方法並傳遞true
。
note note NOTE 不需要叫用 ReaderExtensionSpec
物件的setReCredentialPassword
方法。 Forms服務不使用此方法。 - 使用物件的建構函式建立
-
轉譯啟用許可權的表單
叫用
FormsServiceClient
物件的renderPDFFormWithUsageRights
方法,並傳遞下列值:- 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於Forms應用程式的一部分,請確定您指定完整路徑,例如
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
。 - 包含要與表單合併之資料的
com.adobe.idp.Document
物件。 如果您不想合併資料,請傳遞空的com.adobe.idp.Document
物件。 - 儲存執行階段選項的
PDFFormRenderSpec
物件。 - 儲存使用許可權執行階段選項的
ReaderExtensionSpec
物件。 - 包含Forms服務所需URI值的
URLSpec
物件。
renderPDFFormWithUsageRights
方法傳回FormsResult
物件,其中包含必須寫入使用者端網頁瀏覽器的表單資料流。 - 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於Forms應用程式的一部分,請確定您指定完整路徑,例如
-
將表單資料流寫入使用者端網頁瀏覽器
- 呼叫
FormsResult
物件的getOutputContent
方法,以建立com.adobe.idp.Document
物件。 - 透過叫用物件的
getContentType
方法,取得com.adobe.idp.Document
物件的內容型別。 - 透過叫用其
setContentType
方法並傳遞com.adobe.idp.Document
物件的內容型別來設定javax.servlet.http.HttpServletResponse
物件的內容型別。 - 呼叫
javax.servlet.http.HttpServletResponse
物件的getOutputStream
方法,建立用來將表單資料流寫入使用者端網頁瀏覽器的javax.servlet.ServletOutputStream
物件。 - 呼叫
com.adobe.idp.Document
物件的getInputStream
方法,以建立java.io.InputStream
物件。 - 呼叫
InputStream
物件的read
方法,並將位元組陣列作為引數傳遞,以表單資料流填入位元組陣列。 - 叫用
javax.servlet.ServletOutputStream
物件的write
方法,將表單資料流傳送至使用者端網頁瀏覽器。 將位元組陣列傳遞至write
方法。
- 呼叫
另請參閱
使用網站服務API轉譯啟用許可權的表單 render-rights-enabled-forms-using-the-web-service-api
使用Forms API (Web服務)轉譯啟用許可權的表單:
-
包含專案檔案
- 建立使用Forms服務WSDL的Java Proxy類別。
- 將Java Proxy類別納入您的類別路徑中。
-
建立Forms使用者端API物件
建立
FormsService
物件並設定驗證值。 -
設定使用許可權執行階段選項
- 使用物件的建構函式建立
ReaderExtensionSpec
物件。 - 透過叫用
ReaderExtensionSpec
物件的setReCredentialAlias
方法來指定認證的別名,並指定代表別名值的字串值。 - 透過叫用屬於
ReaderExtensionSpec
物件的對應方法來設定每個使用權利。 不過,只有當您參照的認證可讓您進行時,才能設定使用許可權。 也就是說,如果認證不允許您設定使用方式,您就無法設定使用方式。 若要設定使用許可權,讓使用者能夠填寫表單欄位並儲存表單,請叫用ReaderExtensionSpec
物件的setReFillIn
方法並傳遞true
。
- 使用物件的建構函式建立
-
轉譯啟用許可權的表單
叫用
FormsService
物件的renderPDFFormWithUsageRights
方法,並傳遞下列值:- 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於Forms應用程式的一部分,請確定您指定完整路徑,例如
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
。 - 包含要與表單合併之資料的
BLOB
物件。 如果您不想將資料與表單合併,您必須傳遞以空白XML資料來源為基礎的BLOB
物件。 您無法傳遞null的BLOB
物件;否則,會擲回例外狀況。 - 儲存執行階段選項的
PDFFormRenderSpec
物件。 - 儲存使用許可權執行階段選項的
ReaderExtensionSpec
物件。 - 包含Forms服務所需URI值的
URLSpec
物件。
renderPDFFormWithUsageRights
方法傳回FormsResult
物件,其中包含必須寫入使用者端網頁瀏覽器的表單資料流。 - 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於Forms應用程式的一部分,請確定您指定完整路徑,例如
-
將表單資料流寫入使用者端網頁瀏覽器
- 呼叫
FormsResult
物件的getOutputContent
方法,建立包含表單資料的BLOB
物件。 - 透過叫用物件的
getContentType
方法,取得BLOB
物件的內容型別。 - 透過叫用其
setContentType
方法並傳遞BLOB
物件的內容型別來設定javax.servlet.http.HttpServletResponse
物件的內容型別。 - 呼叫
javax.servlet.http.HttpServletResponse
物件的getOutputStream
方法,建立用來將表單資料流寫入使用者端網頁瀏覽器的javax.servlet.ServletOutputStream
物件。 - 建立位元組陣列,並透過叫用
BLOB
物件的getBinaryData
方法來填入該陣列。 此工作會將FormsResult
物件的內容指派給位元組陣列。 - 叫用
javax.servlet.http.HttpServletResponse
物件的write
方法,將表單資料流傳送至使用者端網頁瀏覽器。 將位元組陣列傳遞至write
方法。
- 呼叫
另請參閱