Esempi ed esempi in questo documento sono disponibili solo per AEM Forms nell'ambiente JEE.
Potete ottimizzare la distribuzione del contenuto PDF e migliorare la capacità del servizio Forms di gestire il carico di rete utilizzando la funzionalità di rendering lato client di Acrobat o Adobe Reader. Questo processo è noto come rendering di un modulo sul client. Per eseguire il rendering di un modulo sul client, il dispositivo client (in genere un browser Web) deve utilizzare Acrobat 7.0 o Adobe Reader 7.0 o versione successiva.
Le modifiche apportate a un modulo derivanti dall'esecuzione di script sul lato server non si riflettono in un modulo di cui viene eseguito il rendering sul client, a meno che il sottomodulo principale non contenga l'attributo restoreState
impostato su auto
. Per ulteriori informazioni su questo attributo, vedere Forms Designer.
Per ulteriori informazioni sul servizio Forms, vedere Guida di riferimento dei servizi per AEM Forms.
Per eseguire il rendering di un modulo sul client, effettuare le seguenti operazioni:
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
Creare un oggetto Forms Client API
Prima di eseguire un'operazione API client di Forms Service a livello di programmazione, è necessario creare un client di servizi Forms. Se utilizzate l'API Java, create un oggetto FormsServiceClient
. Se utilizzate l'API del servizio Web di Forms, create un oggetto FormsService
.
Impostazione delle opzioni di esecuzione del rendering client
È necessario impostare l'opzione di esecuzione del rendering client per eseguire il rendering di un modulo sul client impostando l'opzione RenderAtClient
runtime su true
. Questo determina la distribuzione del modulo al dispositivo client sul quale viene eseguito il rendering. Se RenderAtClient
è auto
(il valore predefinito), la struttura del modulo determina se eseguire il rendering del modulo sul computer client. La struttura del modulo deve essere una struttura del modulo con layout scorrevole.
Un'opzione opzionale di runtime che è possibile impostare è l'opzione SeedPDF
. L'opzione SeedPDF
combina il contenitore PDF (documento PDF di livello inferiore) con la struttura del modulo e i dati XML. Sia la struttura del modulo che i dati XML vengono inviati a Acrobat o Adobe Reader, dove viene eseguito il rendering del modulo. L'opzione SeedPDF
può essere utilizzata quando il computer client non dispone di font utilizzati nel modulo, ad esempio quando un utente finale non dispone di una licenza per utilizzare un font concesso in licenza al proprietario del modulo.
Designer consente di creare un semplice file PDF dinamico da utilizzare come file PDF di base. Per eseguire questa operazione sono necessari i seguenti passaggi:
Per eseguire il rendering di un modulo sul client, non è necessario definire l'opzione di esecuzione PDF di livello inferiore. Se non si specifica un PDF di livello inferiore, il servizio Forms crea un pdf contenitore che non conterrà oggetti COS ma conterrà un wrapper PDF con il contenuto XDP effettivo incorporato al suo interno. I passaggi descritti in questa sezione non impostano l'opzione per l'esecuzione dei PDF iniziali. Per informazioni sugli oggetti COS, vedere la guida di riferimento Adobe PDF.
Eseguire il rendering di un modulo sul client
Per eseguire il rendering di un modulo sul client, è necessario assicurarsi che le opzioni di esecuzione del rendering del client siano incluse nella logica dell'applicazione per eseguire il rendering di un modulo.
Scrivere il flusso di dati del modulo nel browser Web del client
Il servizio Forms crea un flusso di dati del modulo che è necessario scrivere nel browser Web del client. Una volta scritto nel browser Web del client, il modulo viene rappresentato da Acrobat 7.0 o Adobe Reader 7.0 o versione successiva ed è visibile all'utente.
Consulta anche
Eseguire il rendering di un modulo sul client utilizzando l'API Java
Eseguire il rendering di un modulo sul client utilizzando l'API del servizio Web
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido di Forms Service API
Invio di documenti al servizio Forms
Creazione di applicazioni Web per il rendering di Forms
Eseguire il rendering di un modulo sul client utilizzando l'API Forms (Java):
Includi file di progetto
Includete file JAR client, ad esempio adobe-forms-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Forms Client API
ServiceClientFactory
che contiene le proprietà di connessione.FormsServiceClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Impostazione delle opzioni di esecuzione del rendering client
PDFFormRenderSpec
utilizzando il relativo costruttore.RenderAtClient
runtime richiamando il metodo PDFFormRenderSpec
dell'oggetto setRenderAtClient
e passando il valore enum RenderAtClient.Yes
.Eseguire il rendering di un modulo sul client
Richiamare il metodo FormsServiceClient
dell'oggetto renderPDFForm
e trasmettere i seguenti valori:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.com.adobe.idp.Document
che contiene i dati da unire al modulo. Se non si desidera unire i dati, passare un oggetto com.adobe.idp.Document
vuoto.PDFFormRenderSpec
che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client.URLSpec
che contiene valori URI richiesti dal servizio Forms per eseguire il rendering di un modulo.java.util.HashMap
che memorizza gli allegati. Si tratta di un parametro facoltativo ed è possibile specificare null
se non si desidera allegare file al modulo.Il metodo renderPDFForm
restituisce un oggetto FormsResult
contenente un flusso di dati del modulo che deve essere scritto nel browser Web del client.
Scrivere il flusso di dati del modulo nel browser Web del client
com.adobe.idp.Document
richiamando il metodo FormsResult
object ‘s getOutputContent
.com.adobe.idp.Document
richiamandone il metodo getContentType
.javax.servlet.http.HttpServletResponse
richiamandone il metodo setContentType
e passando il tipo di contenuto dell'oggetto com.adobe.idp.Document
.javax.servlet.ServletOutputStream
utilizzato per scrivere il flusso di dati del modulo nel browser Web del client richiamando il metodo javax.servlet.http.HttpServletResponse
dell'oggetto getOutputStream
.java.io.InputStream
richiamando il metodo com.adobe.idp.Document
dell'oggetto getInputStream
.InputStream
dell'oggetto read
e passando l'array di byte come argomento.javax.servlet.ServletOutputStream
dell'oggetto write
per inviare il flusso di dati del modulo al browser Web del client. Passate l'array di byte al metodo write
.Consulta anche
Avvio rapido (modalità SOAP): Rendering di un modulo sul client mediante l'API Java
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Eseguire il rendering di un modulo sul client utilizzando l'API di Forms (servizio Web):
Includi file di progetto
Creare un oggetto Forms Client API
Creare un oggetto FormsService
e impostare i valori di autenticazione.
Impostazione delle opzioni di esecuzione del rendering client
PDFFormRenderSpec
utilizzando il relativo costruttore.RenderAtClient
richiamando il metodo PDFFormRenderSpec
dell'oggetto setRenderAtClient
e passando il valore della stringa RenderAtClient.Yes
.Eseguire il rendering di un modulo sul client
Richiamare il metodo FormsService
dell'oggetto renderPDFForm
e trasmettere i seguenti valori:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.BLOB
che contiene i dati da unire al modulo. Se non si desidera unire i dati, passare null
. (Vedere Precompilazione di Forms con layout scorrevoli.)PDFFormRenderSpec
che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client.URLSpec
che contiene valori URI richiesti dal servizio Forms.java.util.HashMap
che memorizza gli allegati. Si tratta di un parametro facoltativo ed è possibile specificare null
se non si desidera allegare file al modulo.com.adobe.idp.services.holders.BLOBHolder
vuoto compilato dal metodo. Questo parametro viene utilizzato per memorizzare il modulo PDF di cui è stato effettuato il rendering.javax.xml.rpc.holders.LongHolder
vuoto compilato dal metodo. (Questo argomento memorizza il numero di pagine nel modulo).javax.xml.rpc.holders.StringHolder
vuoto compilato dal metodo. (Questo argomento memorizza il valore delle impostazioni internazionali).com.adobe.idp.services.holders.FormsResultHolder
vuoto che conterrà i risultati dell'operazione.Il metodo renderPDFForm
compila l'oggetto com.adobe.idp.services.holders.FormsResultHolder
passato come ultimo valore argomento con un flusso di dati del modulo che deve essere scritto nel browser Web del client.
Scrivere il flusso di dati del modulo nel browser Web del client
FormResult
ottenendo il valore del membro di dati com.adobe.idp.services.holders.FormsResultHolder
dell'oggetto value
.BLOB
contenente dati del modulo richiamando il metodo FormsResult
dell'oggetto getOutputContent
.BLOB
richiamandone il metodo getContentType
.javax.servlet.http.HttpServletResponse
richiamandone il metodo setContentType
e passando il tipo di contenuto dell'oggetto BLOB
.javax.servlet.ServletOutputStream
utilizzato per scrivere il flusso di dati del modulo nel browser Web del client richiamando il metodo javax.servlet.http.HttpServletResponse
dell'oggetto getOutputStream
.BLOB
dell'oggetto getBinaryData
. Questa attività assegna il contenuto dell'oggetto FormsResult
all'array di byte.javax.servlet.http.HttpServletResponse
dell'oggetto write
per inviare il flusso di dati del modulo al browser Web del client. Passate l'array di byte al metodo write
.Consulta anche