Beim Rendern eines Formulars können Sie Laufzeitoptionen festlegen, die die Leistung des Forms-Dienstes optimieren. Eine weitere Aufgabe, die Sie zur Leistungsverbesserung des Forms-Dienstes ausführen können, ist das Speichern von XDP-Dateien im Repository. Dieser Abschnitt beschreibt jedoch nicht, wie diese Aufgabe durchgeführt werden soll. (Siehe Aufrufen eines Dienstes mit einer Java-Client-Bibliothek.)
Weitere Informationen zum Forms-Dienst finden Sie unter Dienste-Referenz für AEM Forms.
So optimieren Sie die Leistung des Forms-Dienstes beim Rendern eines Formulars:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxydateien einschließen.
Forms Client API-Objekt erstellen
Bevor Sie einen Forms-Dienst-Client-API-Vorgang programmgesteuert durchführen können, müssen Sie einen Forms-Dienstclient erstellen. Wenn Sie die Java-API verwenden, erstellen Sie ein FormsServiceClient
-Objekt. Wenn Sie die Forms-Webdienst-API verwenden, erstellen Sie ein FormsService
-Objekt.
Festlegen von Leistungslaufzeitoptionen
Sie können die folgenden Leistungslaufzeitoptionen festlegen, um die Leistung des Forms-Dienstes zu verbessern:
true
einstellen", wodurch Formulare ohne Statusinformationen wiedergegeben werden. Statusinformationen sind erforderlich, wenn Sie ein interaktives Formular an einen Endbenutzer senden möchten, der dann Informationen in das Formular eingibt und das Formular an den Forms-Dienst zurücksendet. Der Forms-Dienst führt anschließend eine Berechnung durch und gibt das Formular mit im Formular angezeigten Ergebnissen an den Benutzer zurück. Wenn ein Formular ohne Statusinformationen an den Forms-Dienst zurückgesendet wird, stehen nur die XML-Daten zur Verfügung und serverseitige Berechnungen werden nicht durchgeführt.Formular wiedergeben
Um das Formular nach dem Festlegen der Leistungsoptionen wiederzugeben, verwenden Sie dieselbe Anwendungslogik wie beim Rendern eines Formulars ohne Leistungsoptionen.
Schreiben des Formulardatenstreams in den Client-Webbrowser
Nachdem der Forms-Dienst ein Formular wiedergegeben hat, wird ein Formulardatenstream zurückgegeben, den Sie in den Client-Webbrowser schreiben müssen. Beim Schreiben in den Client-Webbrowser ist das Formular für den Benutzer sichtbar.
Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Interaktive PDF forms wiedergeben
Erstellen von Webanwendungen zum Rendern von Forms
Rendern Sie ein Formular mit optimierter Leistung mithilfe der Forms API (Java):
Projektdateien einschließen
Schließen Sie Client-JAR-Dateien wie "adobe-forms-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Forms Client API-Objekt erstellen
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.FormsServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Festlegen von Leistungslaufzeitoptionen
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.PDFFormRenderSpec
-Methode des Objekts setCacheEnabled
aufrufen und true
übergeben.PDFFormRenderSpec
-Objektmethode setLinearizedPDF
und Übergeben von true.
Formular wiedergeben
Rufen Sie die renderPDFForm
-Methode des Objekts auf und übergeben Sie die folgenden Werte:FormsServiceClient
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 leeres com.adobe.idp.Document
-Objekt.PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, um die Leistung zu verbessern.URLSpec
-Objekt, das URI-Werte enthält, die vom Forms-Dienst benötigt werden.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter und Sie können null
angeben, wenn Sie keine Dateien an das Formular anhängen möchten.Die renderPDFForm
-Methode gibt ein FormsResult
-Objekt zurück, das einen Formulardatenstream enthält, der in den Client-Webbrowser geschrieben werden muss.
Schreiben des Formulardatenstreams in den Client-Webbrowser
javax.servlet.ServletOutputStream
-Objekt, das zum Senden eines Formulardatenstreams an den Client-Webbrowser verwendet wird.com.adobe.idp.Document
-Objekt, indem Sie die FormsResult
-Methode "s getOutputContent
"aufrufen.java.io.InputStream
-Objekt, indem Sie die com.adobe.idp.Document
-Methode des Objekts getInputStream
aufrufen.read
-Methode des Objekts aufrufen und das Bytearray als Argument übergeben.InputStream
write
-Methode des Objekts auf, um den Formulardatenstream an den Client-Webbrowser zu senden. javax.servlet.ServletOutputStream
Übergeben Sie das Bytearray an die write
-Methode.Siehe auch
Quick Beginn (SOAP-Modus): Leistungsoptimierung mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Rendern Sie ein Formular mit optimierter Leistung mithilfe der Forms API (Webdienst):
Projektdateien einschließen
Forms Client API-Objekt erstellen
Erstellen Sie ein FormsService
-Objekt und legen Sie Authentifizierungswerte fest.
Festlegen von Leistungslaufzeitoptionen
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.PDFFormRenderSpec
-Methode des Objekts setCacheEnabled
aufrufen und true übergeben.PDFFormRenderSpec
-Methode des Objekts setStandAlone
aufrufen und true übergeben.PDFFormRenderSpec
-Methode des Objekts setLinearizedPDF
aufrufen und true übergeben.Formular wiedergeben
Rufen Sie die renderPDFForm
-Methode des Objekts auf und übergeben Sie die folgenden Werte:FormsService
BLOB
-Objekt, das Daten enthält, die mit dem Formular zusammengeführt werden sollen. Wenn Sie keine Daten zusammenführen möchten, übergeben Sie null
.PDFFormRenderSpecc
-Objekt, das Laufzeitoptionen speichert.URLSpec
-Objekt, das URI-Werte enthält, die vom Forms-Dienst benötigt werden.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter und Sie können null
angeben, wenn Sie keine Dateien an das Formular anhängen möchten.com.adobe.idp.services.holders.BLOBHolder
-Objekt, das von der Methode gefüllt wird. Auf diese Weise wird das gerenderte PDF-Formular gespeichert.javax.xml.rpc.holders.LongHolder
-Objekt, das von der Methode gefüllt wird. (Dieses Argument speichert die Anzahl der Seiten im Formular.)javax.xml.rpc.holders.StringHolder
-Objekt, das von der Methode gefüllt wird. (Dieses Argument speichert den Gebietsschemawert.)com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das die Ergebnisse dieses Vorgangs enthält.Die renderPDFForm
-Methode füllt das com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das als letzter Argumentwert übergeben wird, mit einem Formulardatenstream, der in den Client-Webbrowser geschrieben werden muss.
Schreiben des Formulardatenstreams in den Client-Webbrowser
FormResult
-Objekt, indem Sie den Wert des com.adobe.idp.services.holders.FormsResultHolder
-Datenelements des Objekts value
abrufen.javax.servlet.ServletOutputStream
-Objekt, das zum Senden eines Formulardatenstreams an den Client-Webbrowser verwendet wird.BLOB
-Objekt, das Formulardaten enthält, indem Sie die getOutputContent
-Methode des Objekts aufrufen.FormsResult
BLOB
-Methode des Objekts getBinaryData
. Diese Aufgabe weist dem Bytearray den Inhalt des Objekts FormsResult
zu.write
-Methode des Objekts auf, um den Formulardatenstream an den Client-Webbrowser zu senden. javax.servlet.http.HttpServletResponse
Übergeben Sie das Bytearray an die write
-Methode.Siehe auch
Aufrufen von AEM Forms mit Base64-Kodierung