轉譯已啟用許可權的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方法。
- 呼叫
另請參閱