使用Java API依值轉譯表單

使用Forms API (Java)依值轉譯表單:

  1. 包含專案檔案

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

  2. 建立Forms使用者端API物件

    • 建立包含連線屬性的ServiceClientFactory物件。
    • 使用它的建構函式並傳遞ServiceClientFactory物件來建立FormsServiceClient物件。
  3. 參考表單設計

    • 使用表單設計的建構函式,並傳遞指定XDP檔案位置的字串值,建立代表要呈現之表單設計的java.io.FileInputStream物件。
    • 使用它的建構函式並傳遞java.io.FileInputStream物件來建立com.adobe.idp.Document物件。
  4. 依值演算表單

    叫用FormsServiceClient物件的renderPDFForm方法,並傳遞下列值:

    • 空字串值。 (此引數通常需要字串值,用以指定表單設計的名稱。)
    • 包含表單設計的com.adobe.idp.Document物件。 通常,此引數值會保留給合併至表單的資料。
    • 儲存執行階段選項的PDFFormRenderSpec物件。 這是選用引數,如果您不想指定執行階段選項,可以指定null
    • 包含Forms服務所需URI值的URLSpec物件。
    • 儲存檔案附件的java.util.HashMap物件。 這是選用引數,如果您不想將檔案附加至表單,可以指定null

    renderPDFForm方法傳回FormsResult物件,其中包含可寫入使用者端網頁瀏覽器的表單資料流。

  5. 將表單資料流寫入使用者端網頁瀏覽器

    • 呼叫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物件的大小。 叫用InputStream物件的available方法以取得InputStream物件的大小。
    • 叫用InputStream物件的read方法,並將位元組陣列作為引數傳遞,以表單資料串流填入位元組陣列。
    • 叫用javax.servlet.ServletOutputStream物件的write方法,將表單資料流傳送至使用者端網頁瀏覽器。 將位元組陣列傳遞至write方法。

使用網站服務API依值轉譯表單

使用Forms API (Web服務)依值轉譯表單:

  1. 包含專案檔案

    • 建立使用Forms服務WSDL的Java Proxy類別。
    • 將Java Proxy類別納入您的類別路徑中。
  2. 建立Forms使用者端API物件

    建立FormsService物件並設定驗證值。

  3. 參考表單設計

    • 使用物件的建構函式建立java.io.FileInputStream物件。 傳遞字串值,指定XDP檔案的位置。
    • 使用物件的建構函式建立BLOB物件。 BLOB物件是用來儲存以密碼加密的PDF檔案。
    • 建立位元組陣列以儲存java.io.FileInputStream物件的內容。 您可以使用其available方法取得java.io.FileInputStream物件的大小,以決定位元組陣列的大小。
    • 呼叫java.io.FileInputStream物件的read方法並傳遞位元組陣列,以串流資料填入位元組陣列。
    • 叫用物件的setBinaryData方法並傳遞位元組陣列以填入BLOB物件。
  4. 依值演算表單

    叫用FormsService物件的renderPDFForm方法,並傳遞下列值:

    • 空字串值。 (此引數通常需要字串值,用以指定表單設計的名稱。)
    • 包含表單設計的BLOB物件。 通常,此引數值會保留給合併至表單的資料。
    • 儲存執行階段選項的PDFFormRenderSpec物件。 這是選用引數,如果您不想指定執行階段選項,可以指定null
    • 包含Forms服務所需URI值的URLSpec物件。
    • 儲存檔案附件的java.util.HashMap物件。 這是選用引數,如果您不想將檔案附加至表單,可以指定null
    • 方法填入的空白com.adobe.idp.services.holders.BLOBHolder物件。 這可用來儲存轉譯的PDF表單。
    • 方法填入的空白javax.xml.rpc.holders.LongHolder物件。 (此引數會以表單儲存頁數。)
    • 方法填入的空白javax.xml.rpc.holders.StringHolder物件。 (此引數會儲存地區設定值。)
    • 包含此作業結果的空白com.adobe.idp.services.holders.FormsResultHolder物件。

    renderPDFForm方法會將必須寫入使用者端網頁瀏覽器的表單資料流,填入作為最後一個引數值傳遞的com.adobe.idp.services.holders.FormsResultHolder物件。

  5. 將表單資料流寫入使用者端網頁瀏覽器

    • 取得com.adobe.idp.services.holders.FormsResultHolder物件之value資料成員的值,以建立FormResult物件。
    • 呼叫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方法。
recommendation-more-help