表單資料整合服務可將資料匯入PDF表單,並從PDF表單匯出資料。 匯入和匯出作業支援兩種PDF表單:
表單資料可依PDF表單類型以下列其中一種格式存在:
您可以使用表單資料整合服務完成下列工作:
如需表單資料整合服務的詳細資訊,請參閱AEM Forms的服務參考。
您可以使用表單資料整合服務,將表單資料匯入互動式PDF表單。 互動式PDF表單是PDF檔案,其中包含一或多個欄位,用於收集使用者的資訊或顯示自訂資訊。 表單資料整合服務不支援表單計算、驗證或指令碼。
若要將資料匯入在Designer中建立的表單,您必須參考有效的XDP XML資料來源。 請考慮以下抵押貸款申請表示例。
若要將資料值匯入此表單,您必須有與表單對應的有效XDP XML資料來源。 您不能使用任意XML資料來源,使用「表單資料整合」服務將資料匯入表單。 任意XML資料來源與XDP XML資料來源的區別在於,XDP資料來源符合XML表單架構(XFA)。 以下XML代表與範例抵押申請表格對應的XDP XML資料來源。
<?xml version="1.0" encoding="UTF-8" ?>
- <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
- <xfa:data>
- <data>
- <Layer>
<closeDate>1/26/2007</closeDate>
<lastName>Johnson</lastName>
<firstName>Jerry</firstName>
<mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
<city>New York</city>
<zipCode>00501</zipCode>
<state>NY</state>
<dateBirth>26/08/1973</dateBirth>
<middleInitials>D</middleInitials>
<socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
<phoneNumber>5555550000</phoneNumber>
</Layer>
- <Mortgage>
<mortgageAmount>295000.00</mortgageAmount>
<monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
<purchasePrice>300000</purchasePrice>
<downPayment>5000</downPayment>
<term>25</term>
<interestRate>5.00</interestRate>
</Mortgage>
</data>
</xfa:data>
</xfa:datasets>
如需表單資料整合服務的詳細資訊,請參閱AEM Forms的服務參考。
若要將表單資料匯入PDF表單,請執行下列步驟:
包含專案檔案
將必要的檔案加入您的開發專案中。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
必須將以下JAR檔案添加到項目的類路徑中:
如需這些JAR檔案位置的詳細資訊,請參閱包含AEM Forms Java程式庫檔案。
建立表單資料整合服務客戶端
您必須先建立資料整合服務用戶端,才能以程式設計方式將資料匯入PDF表單用戶端API。 建立服務客戶端時,您定義調用服務所需的連接設定。 有關資訊,請參見設定連接屬性。
參考PDF表格
若要將資料匯入PDF表單,您必須參考在Designer中建立的XML表單或在Acrobat中建立的Acrobat表單。
參考XML資料來源
若要匯入表單資料,您必須參考有效的資料來源。 若要將資料匯入在Designer中建立的XFA XML表單,您必須使用XDP XML資料來源。 如果您參考Acrobat表單,則必須使用XFDF資料來源。 對於要將資料導入的每個欄位,必須指定一個值。 如果XML資料來源中的元素與表單中的欄位不對應,則會忽略該元素。
將資料匯入PDF表單
參考PDF表單和有效的XML資料來源後,您可將資料匯入PDF表單。
將PDF表格儲存為PDF檔案
將資料匯入表單後,您可將表單儲存為PDF檔案。 當使用者儲存為PDF檔案後,就可以在Adobe Reader或Acrobat中開啟表格,並檢視已匯入資料的表格。
另請參閱
使用表單資料整合API(Java)匯入表單資料:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-formdataintegration-client.jar。
建立表單資料整合服務用戶端。
ServiceClientFactory
對象。ServiceClientFactory
對象,建立FormDataIntegrationClient
對象。參考PDF表格。
java.io.FileInputStream
對象。 傳遞指定PDF表單位置的字串值。com.adobe.idp.Document
建構函式建立儲存PDF表單的com.adobe.idp.Document
物件。 將包含PDF表單的java.io.FileInputStream
物件傳遞至建構函式。參考XML資料來源。
java.io.FileInputStream
對象,並傳遞一個字串值,該字串值指定要導入表單的資料的XML檔案的位置。com.adobe.idp.Document
建構函式建立儲存表單資料的com.adobe.idp.Document
物件。 將包含表單資料的java.io.FileInputStream
物件傳遞至建構函式。將資料匯入PDF表單。
調用FormDataIntegrationClient
物件的importData
方法並傳遞下列值,將資料匯入PDF表單:
com.adobe.idp.Document
對象。com.adobe.idp.Document
對象。importData
方法返回一個com.adobe.idp.Document
對象,該對象儲存一個包含位於XML資料源中的資料的PDF表單。
將PDF表格儲存為PDF檔案。
java.io.File
物件,並確定副檔名為"。PDF"。Document
物件的copyToFile
方法,將Document
物件的內容複製至檔案(請確定您使用importData
方法傳回的Document
物件)。另請參閱
使用表單資料整合API(web service)匯入表單資料:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義:http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
。
將localhost
取代為代管AEM Forms之伺服器的IP位址。
建立表單資料整合服務用戶端。
使用其預設建構子建立FormDataIntegrationClient
對象。
使用System.ServiceModel.EndpointAddress
建構函式建立FormDataIntegrationClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
)。 您不需要使用lc_version
屬性。 建立服務參考時,將使用此屬性。 不過,請指定?blob=mtom
以使用MTOM。
獲取FormDataIntegrationClient.Endpoint.Binding
欄位的值,建立System.ServiceModel.BasicHttpBinding
對象。 將返回值轉換為BasicHttpBinding
。
將System.ServiceModel.BasicHttpBinding
物件的MessageEncoding
欄位設為WSMessageEncoding.Mtom
。 此值可確保使用MTOM。
執行下列工作以啟用基本HTTP驗證:
FormDataIntegrationClient.ClientCredentials.UserName.UserName
。FormDataIntegrationClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
分配給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。BasicHttpSecurityMode.TransportCredentialOnly
分配給欄位BasicHttpBindingSecurity.Security.Mode
。參考PDF表格。
BLOB
對象。 此BLOB
物件用來儲存PDF表單。System.IO.FileStream
對象的建構子建立<a0/>對象。 傳遞一個字串值,指定PDF表單的位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 您可以取得System.IO.FileStream
物件的Length
屬性,以判斷位元組陣列的大小。System.IO.FileStream
物件的Read
方法,以串流資料填入位元組陣列。 傳遞要讀取的位元組陣列、起始位置和串流長度。MTOM
對象的欄位分配位元組陣列的內容來填充BLOB
對象。參考XML資料來源。
BLOB
對象。 此BLOB
物件用來儲存匯入表單的資料。System.IO.FileStream
對象的建構子建立<a0/>對象。 傳遞一個字串值,指定包含要匯入資料的XML檔案位置,以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 您可以取得System.IO.FileStream
物件的Length
屬性,以判斷位元組陣列的大小。System.IO.FileStream
物件的Read
方法,以串流資料填入位元組陣列。 傳遞要讀取的位元組陣列、起始位置和串流長度。MTOM
對象的欄位分配位元組陣列的內容來填充BLOB
對象。將資料匯入PDF表單。
調用FormDataIntegrationClient
物件的importData
方法並傳遞下列值,將資料匯入PDF表單:
BLOB
對象。BLOB
對象。importData
方法返回一個BLOB
對象,該對象儲存一個包含位於XML資料源中的資料的PDF表單。
將PDF表格儲存為PDF檔案。
System.IO.FileStream
對象的建構子並傳遞一個字串值,該字串值表示PDF檔案的檔案位置。importData
方法返回的BLOB
對象的資料內容。 取得BLOB
物件的MTOM
欄位值,以填入位元組陣列。System.IO.BinaryWriter
對象的建構子並傳遞System.IO.FileStream
對象,以建立<a0/>對象。System.IO.BinaryWriter
物件的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入PDF檔案。另請參閱
您可以使用表單資料整合服務,從互動式PDF表單匯出表單資料。 匯出的資料格式取決於表單類型。 如果表單類型是在Acrobat中建立的Acrobat表單,則匯出的資料是XFDF。 如果表單類型是在Designer中建立的XML表單,則導出的資料是XDP。
如需表單資料整合服務的詳細資訊,請參閱AEM Forms的服務參考。
若要從PDF表單匯出表單資料,請執行下列步驟:
包含專案檔案
將必要的檔案加入您的開發專案中。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
必須將以下JAR檔案添加到項目的類路徑中:
建立表單資料整合服務客戶端
您必須先建立資料整合服務用戶端,才能以程式設計方式將資料匯入PDF formClient API。 建立服務客戶端時,您定義調用服務所需的連接設定。 有關資訊,請設定連接屬性。
參考PDF表格
若要從PDF表單匯出資料,您必須參考在Designer或Acrobat中建立且包含表單資料的PDF表單。 如果您嘗試從空的PDF表單匯出資料,將會看到空的XML架構。
從PDF表單匯出資料
參考包含表單資料的PDF表單後,您就可以從表單匯出資料。 資料會匯出在以表單為基礎的XML架構中。
將表單資料儲存為XML檔案
匯出表單資料後,您可將資料儲存為XML檔案。 儲存為XML檔案後,您就可以在XML檢視器中開啟XML檔案,以檢視表單資料。
另請參閱
使用表單資料整合API(Java)匯出表單資料:
包含專案檔案。
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-formdataintegration-client.jar。
建立表單資料整合服務用戶端。
ServiceClientFactory
對象。ServiceClientFactory
對象,建立FormDataIntegrationClient
對象。參考PDF表格。
java.io.FileInputStream
物件,並傳遞字串值,指定要匯出資料的PDF表單位置。com.adobe.idp.Document
建構函式建立儲存PDF表單的com.adobe.idp.Document
物件。 將包含PDF表單的java.io.FileInputStream
物件傳遞至建構函式。從PDF表單匯出資料。
叫用FormDataIntegrationClient
物件的exportData
方法,並傳遞儲存PDF表單的com.adobe.idp.Document
物件,以匯出表單資料。 此方法返回將表單資料儲存為XML架構的com.adobe.idp.Document
對象。
將PDF表格儲存為PDF檔案。
java.io.File
物件,並確定副檔名為XML。Document
物件的copyToFile
方法,將Document
物件的內容複製至檔案(請確定您使用exportData
方法傳回的Document
物件)。另請參閱
使用表單資料整合API(web service)匯出表單資料:
包含專案檔案。
建立使用MTOM的Microsoft .NET專案。 請確定您使用下列WSDL定義:http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
。
localhost
取代為代管AEM Forms之伺服器的IP位址。建立表單資料整合服務用戶端。
使用其預設建構子建立FormDataIntegrationClient
對象。
使用System.ServiceModel.EndpointAddress
建構函式建立FormDataIntegrationClient.Endpoint.Address
物件。 將指定WSDL的字串值傳遞至AEM Forms服務(例如http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
)。 您不需要使用lc_version
屬性。 建立服務參考時,將使用此屬性。 不過,請指定?blob=mtom
以使用MTOM。
獲取FormDataIntegrationClient.Endpoint.Binding
欄位的值,建立System.ServiceModel.BasicHttpBinding
對象。 將返回值轉換為BasicHttpBinding
。
將System.ServiceModel.BasicHttpBinding
物件的MessageEncoding
欄位設為WSMessageEncoding.Mtom
。 此值可確保使用MTOM。
執行下列工作以啟用基本HTTP驗證:
FormDataIntegrationClient.ClientCredentials.UserName.UserName
。FormDataIntegrationClient.ClientCredentials.UserName.Password
。HttpClientCredentialType.Basic
分配給欄位BasicHttpBindingSecurity.Transport.ClientCredentialType
。BasicHttpSecurityMode.TransportCredentialOnly
分配給欄位BasicHttpBindingSecurity.Security.Mode
。參考PDF表格。
BLOB
對象。 此BLOB
物件用來儲存匯出資料的PDF表單。System.IO.FileStream
對象的建構子建立<a0/>對象。 傳遞一個字串值,指定PDF表單的位置以及開啟檔案的模式。System.IO.FileStream
對象內容的位元組陣列。 您可以取得System.IO.FileStream
物件的Length
屬性,以判斷位元組陣列的大小。System.IO.FileStream
物件的Read
方法,並傳遞要讀取的位元組陣列、開始位置和串流長度,以串流資料填入位元組陣列。MTOM
對象的欄位分配位元組陣列的內容來填充BLOB
對象。從PDF表單匯出資料。
調用FormDataIntegrationClient
物件的exportData
方法,並傳遞儲存PDF表單的BLOB
物件,將資料匯入PDF表單。 此方法返回將表單資料儲存為XML架構的BLOB
對象。
將PDF表格儲存為PDF檔案。
System.IO.FileStream
對象的建構子並傳遞表示XML檔案位置的字串值來建立<a0/>對象。exportData
方法返回的BLOB
對象的資料內容。 取得BLOB
物件的MTOM
欄位值,以填入位元組陣列。System.IO.BinaryWriter
對象的建構子並傳遞System.IO.FileStream
對象,以建立<a0/>對象。System.IO.BinaryWriter
物件的Write
方法並傳遞位元組陣列,將位元組陣列的內容寫入XML檔案。另請參閱