Sie können die Bereitstellung von PDF-Inhalten optimieren und die Fähigkeit des Forms-Dienstes, die Netzwerklast zu bewältigen, verbessern, indem Sie die clientseitige Rendering-Funktion von Acrobat oder Adobe Reader verwenden. Dieser Prozess wird als Wiedergabe eines Formulars auf dem Client bezeichnet. Um ein Formular auf dem Client wiederzugeben, muss das Client-Gerät (normalerweise ein Webbrowser) Acrobat 7.0 oder Adobe Reader 7.0 oder höher verwenden.
Änderungen an einem Formular, die aus der serverseitigen Skriptausführung resultieren, werden nicht in einem Formular übernommen, das auf dem Client wiedergegeben wird, es sei denn, das Stammteilformular enthält die restoreState
-Attribut, das auf auto
. Weitere Informationen zu diesem Attribut finden Sie unter Forms Designer.
Weitere Informationen zum Forms-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Führen Sie die folgenden Aufgaben aus, um ein Formular auf dem Client wiederzugeben:
Projektdateien einschließen
Fügen 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 Proxy-Dateien einschließen.
Erstellen eines Forms Client-API-Objekts
Bevor Sie einen Client-API-Vorgang für den Forms-Dienst programmgesteuert ausführen können, müssen Sie einen Forms-Dienstclient erstellen. Wenn Sie die Java-API verwenden, erstellen Sie eine FormsServiceClient
-Objekt. Wenn Sie die Forms-Webdienst-API verwenden, erstellen Sie eine FormsService
-Objekt.
Festlegen von Laufzeitoptionen für Client-Rendering
Sie müssen die Laufzeitoption zum Rendern eines Formulars auf dem Client festlegen, indem Sie die RenderAtClient
Laufzeitoption zu true
. Dadurch wird das Formular an das Client-Gerät gesendet, auf dem es wiedergegeben wird. Wenn RenderAtClient
is auto
(Standardwert) bestimmt der Formularentwurf, ob das Formular auf dem Client wiedergegeben wird. Der Formularentwurf muss ein Formularentwurf mit flexiblem Layout sein.
Eine optionale Laufzeitoption, die Sie festlegen können, ist die SeedPDF
-Option. Die SeedPDF
-Option kombiniert den PDF-Container (Seed-PDF-Dokument) mit dem Formularentwurf und den XML-Daten. Sowohl der Formularentwurf als auch die XML-Daten werden an Acrobat oder Adobe Reader übermittelt, wo das Formular wiedergegeben wird. Die SeedPDF
kann verwendet werden, wenn der Clientcomputer über keine Schriften verfügt, die im Formular verwendet werden, z. B. wenn ein Endbenutzer nicht für die Verwendung einer Schrift lizenziert ist, die der Formularinhaber verwenden darf.
Sie können Designer verwenden, um eine einfache dynamische PDF-Datei zu erstellen, die als Seed-PDF-Datei verwendet werden kann. Die folgenden Schritte sind erforderlich, um diese Aufgabe durchzuführen:
Sie müssen die Laufzeitoption Testadressen-PDF nicht definieren, um ein Formular auf dem Client wiederzugeben. Wenn Sie keine Seed-PDF angeben, erstellt der Forms-Dienst ein Shell-PDF-Dokument, das keine COS-Objekte enthält, jedoch einen PDF-Wrapper mit dem eigentlichen XDP-Inhalt enthält, der in eingebettet ist. Die Schritte in diesem Abschnitt legen die Laufzeitoption zum Testen der PDF nicht fest. Informationen zu COS-Objekten finden Sie im Adobe PDF-Referenzhandbuch.
Formular auf dem Client wiedergeben
Um ein Formular auf dem Client wiederzugeben, müssen Sie sicherstellen, dass die Client-Rendering-Laufzeitoptionen in Ihrer Anwendungslogik enthalten sind, um ein Formular wiederzugeben.
Schreiben Sie den Formulardaten-Stream in den Client-Webbrowser
Der Forms-Dienst erstellt einen Formulardatenstream, den Sie in den Client-Webbrowser schreiben müssen. Wenn das Formular in den Client-Webbrowser geschrieben wird, wird es von Acrobat 7.0 oder Adobe Reader 7.0 oder höher wiedergegeben und ist für den Benutzer sichtbar.
Siehe auch
Wiedergabe eines Formulars auf dem Client mithilfe der Java-API
Wiedergabe eines Formulars auf dem Client mithilfe der Webdienst-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur Forms Service-API
Übergeben von Dokumenten an den Forms-Dienst
Erstellen von Webanwendungen, die Forms rendern
Wiedergabe eines Formulars auf dem Client mithilfe der Forms API (Java):
Projektdateien einschließen
Schließen Sie Client-JAR-Dateien wie adobe-forms-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen eines Forms Client-API-Objekts
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.FormsServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Festlegen von Laufzeitoptionen für Client-Rendering
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.RenderAtClient
Laufzeitoption durch Aufrufen der PDFFormRenderSpec
-Objekt setRenderAtClient
Methode und Übergabe des Enum-Werts RenderAtClient.Yes
.Formular auf dem Client wiedergeben
Rufen Sie die FormsServiceClient
-Objekt renderPDFForm
-Methode verwenden und die folgenden Werte übergeben:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.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 einen leeren com.adobe.idp.Document
-Objekt.PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind.URLSpec
-Objekt, das URI-Werte enthält, die der Forms-Dienst zum Rendern eines Formulars benötigt.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, den Sie null
, wenn Sie keine Dateien an das Formular anhängen möchten.Die renderPDFForm
-Methode gibt eine FormsResult
-Objekt, das einen Formulardatenstrom enthält, der in den Client-Webbrowser geschrieben werden muss.
Schreiben Sie den Formulardaten-Stream in den Client-Webbrowser
com.adobe.idp.Document
-Objekt durch Aufrufen der FormsResult
object ‘s getOutputContent
-Methode.com.adobe.idp.Document
-Objekt durch Aufrufen seiner getContentType
-Methode.javax.servlet.http.HttpServletResponse
Inhaltstyp des Objekts durch Aufrufen seiner setContentType
-Methode und Übergabe des Inhaltstyps der com.adobe.idp.Document
-Objekt.javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardaten-Streams in den Client-Webbrowser durch Aufrufen der javax.servlet.http.HttpServletResponse
-Objekt getOutputStream
-Methode.java.io.InputStream
-Objekt durch Aufrufen der com.adobe.idp.Document
-Objekt getInputStream
-Methode.InputStream
-Objekt read
-Methode verwenden und das Byte-Array als Argument übergeben.javax.servlet.ServletOutputStream
-Objekt write
-Methode zum Senden des Formulardaten-Streams an den Client-Webbrowser. Übergeben Sie das Byte-Array an die write
-Methode.Siehe auch
Schnellstart (SOAP-Modus): Wiedergabe eines Formulars auf dem Client mithilfe der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Wiedergabe eines Formulars auf dem Client mithilfe der Forms-API (Webdienst):
Projektdateien einschließen
Erstellen eines Forms Client-API-Objekts
Erstellen Sie eine FormsService
Objekt und legen Sie Authentifizierungswerte fest.
Festlegen von Laufzeitoptionen für Client-Rendering
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.RenderAtClient
Laufzeitoption durch Aufrufen der PDFFormRenderSpec
-Objekt setRenderAtClient
-Methode und Übergeben des Zeichenfolgenwerts RenderAtClient.Yes
.Formular auf dem Client wiedergeben
Rufen Sie die FormsService
-Objekt renderPDFForm
-Methode verwenden und die folgenden Werte übergeben:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.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
. (Siehe Vorausfüllen von Forms mit flexiblen Layouts.PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind.URLSpec
-Objekt, das URI-Werte enthält, die für den Forms-Dienst erforderlich sind.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, den Sie null
, wenn Sie keine Dateien an das Formular anhängen möchten.com.adobe.idp.services.holders.BLOBHolder
-Objekt, das von der -Methode aufgefüllt wird. Dieser Parameter wird zum Speichern des wiedergegebenen PDF-Formulars verwendet.javax.xml.rpc.holders.LongHolder
-Objekt, das von der -Methode aufgefüllt wird. (Dieses Argument speichert die Anzahl der Seiten im Formular).javax.xml.rpc.holders.StringHolder
-Objekt, das von der -Methode aufgefü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 die com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das als letzter Argumentwert mit einem Formulardatenstream übergeben wird, der in den Client-Webbrowser geschrieben werden muss.
Schreiben Sie den Formulardaten-Stream in den Client-Webbrowser
FormResult
-Objekt durch Abrufen des Werts der com.adobe.idp.services.holders.FormsResultHolder
-Objekt value
Datenelement.BLOB
-Objekt, das Formulardaten enthält, durch Aufrufen der FormsResult
-Objekt getOutputContent
-Methode.BLOB
-Objekt durch Aufrufen seiner getContentType
-Methode.javax.servlet.http.HttpServletResponse
Inhaltstyp des Objekts durch Aufrufen seiner setContentType
-Methode und Übergabe des Inhaltstyps der BLOB
-Objekt.javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardaten-Streams in den Client-Webbrowser durch Aufrufen der javax.servlet.http.HttpServletResponse
-Objekt getOutputStream
-Methode.BLOB
-Objekt getBinaryData
-Methode. Diese Aufgabe weist den Inhalt des FormsResult
-Objekt zum Byte-Array hinzu.javax.servlet.http.HttpServletResponse
-Objekt write
-Methode zum Senden des Formulardaten-Streams an den Client-Webbrowser. Übergeben Sie das Byte-Array an die write
-Methode.Siehe auch
Rendern von Forms auf dem Client
Aufrufen von AEM Forms mit Base64-Kodierung