Rendern eines Formulars auf dem Client mithilfe der Java-API
So rendern Sie ein Formular auf dem Client mithilfe der Forms API (Java):
-
Projektdateien einschließen
Fügen Sie Client-JAR-Dateien wie „adobe-forms-client.jar“ in den Klassenpfad Ihres Java-Projekts ein.
-
Erstellen eines Forms Client-API-Objekts
- Erstellen Sie ein
ServiceClientFactory
-Objekt, das Verbindungseigenschaften enthält. - Erstellen Sie ein
FormsServiceClient
-Objekt, indem Sie seinen Konstruktor verwenden und dasServiceClientFactory
-Objekt übergeben.
- Erstellen Sie ein
-
Festlegen von Laufzeitoptionen für das Client-Rendering
- Erstellen Sie ein Objekt
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden. - Legen Sie die Laufzeitoption
RenderAtClient
fest, indem Sie die MethodesetRenderAtClient
desPDFFormRenderSpec
-Objekts aufrufen und den AufzählungswertRenderAtClient.Yes
übergeben.
- Erstellen Sie ein Objekt
-
Rendern eines Formulars auf dem Client
Rufen Sie die Methode
renderPDFForm
desFormsServiceClient
-Objekts auf und übergeben Sie die folgenden Werte:- Ein Zeichenfolgenwert, der den Namen des Formularentwurfs einschließlich der Dateinamenerweiterung angibt. Wenn Sie auf einen Formularentwurf verweisen, der Teil eines AEM Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Ein
com.adobe.idp.Document
-Objekt, das Daten enthält, die mit dem Formular zusammengeführt werden sollen. Wenn Sie keine Daten zusammenführen möchten, übergeben Sie ein leerescom.adobe.idp.Document
-Objekt. - Ein
PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind. - Ein
URLSpec
-Objekt, das URI-Werte enthält, die der Forms-Service zum Rendern eines Formulars benötigt. - Ein
java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, für den Sienull
angeben können, wenn Sie keine Dateien an das Formular anhängen möchten.
Die Methode
renderPDFForm
gibt einFormsResult
-Objekt zurück, das einen Formulardaten-Stream enthält, der in den Client-Webbrowser geschrieben werden muss. - Ein Zeichenfolgenwert, der den Namen des Formularentwurfs einschließlich der Dateinamenerweiterung angibt. Wenn Sie auf einen Formularentwurf verweisen, der Teil eines AEM Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
-
Schreiben des Formulardaten-Streams in den Client-Webbrowser
- Erstellen Sie ein
com.adobe.idp.Document
-Objekt, indem Sie die MethodegetOutputContent
desFormsResult
-Objekts aufrufen. - Ermitteln Sie den Content-Typ des
com.adobe.idp.Document
-Objekts, indem Sie seine MethodegetContentType
aufrufen. - Legen Sie den Content-Typ des
javax.servlet.http.HttpServletResponse
-Objekts fest, indem Sie seine MethodesetContentType
aufrufen und den Content-Typ descom.adobe.idp.Document
-Objekts übergeben. - Erstellen Sie ein
javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardaten-Streams in den Client-Webbrowser verwendet wird, indem Sie die MethodegetOutputStream
desjavax.servlet.http.HttpServletResponse
-Objekts aufrufen. - Erstellen Sie ein
java.io.InputStream
-Objekt, indem Sie die MethodegetInputStream
descom.adobe.idp.Document
-Objekts aufrufen. - Erstellen Sie ein Byte-Array und füllen Sie es mit dem Formulardaten-Stream, indem Sie die Methode
read
desInputStream
-Objekts aufrufen und das Byte-Array als Argument übergeben. - Rufen Sie die Methode
write
desjavax.servlet.ServletOutputStream
-Objekts auf, um den Formulardaten-Stream an den Client-Webbrowser zu senden. Übergeben Sie das Byte-Array an die Methodewrite
.
- Erstellen Sie ein