Esempi ed esempi in questo documento sono solo per AEM Forms in ambiente JEE.
Puoi ottimizzare la distribuzione dei contenuti di 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 a un modulo risultanti dall’esecuzione di script sul lato server non vengono applicate a un modulo di cui è eseguito il rendering sul client, a meno che il sottomodulo principale non contenga restoreState
attributo impostato su auto
. Per ulteriori informazioni su questo attributo, consulta Forms Designer.
Per ulteriori informazioni sul servizio Forms, vedi Riferimento servizi per AEM Forms.
Per eseguire il rendering di un modulo sul client, eseguire le operazioni seguenti:
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
Creare un oggetto API client Forms
Prima di poter eseguire programmaticamente un’operazione API client del servizio Forms, è necessario creare un client di servizio Forms. Se utilizzi l’API Java, crea un FormsServiceClient
oggetto. Se utilizzi l’API del servizio Web Forms, crea un FormsService
oggetto.
Impostare le opzioni di esecuzione del rendering client
È necessario impostare l’opzione di esecuzione del rendering del client per eseguire il rendering di un modulo sul client impostando il RenderAtClient
opzione di esecuzione su true
. In questo modo il modulo viene consegnato al dispositivo client in cui viene eseguito il rendering. Se RenderAtClient
è auto
(valore predefinito), la struttura del modulo determina se eseguire il rendering del modulo sul client. La struttura del modulo deve essere una struttura del modulo con un layout scorrevole.
Un'opzione opzionale di runtime che è possibile impostare è la variabile SeedPDF
opzione . La SeedPDF
combina il contenitore PDF (documento PDF di seed) con la struttura del modulo e i dati XML. Sia la struttura del modulo che i dati XML vengono inviati ad Acrobat o Adobe Reader, dove viene eseguito il rendering del modulo. La SeedPDF
è possibile utilizzare questa opzione quando nel computer client non sono presenti 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 seed. Per eseguire questa attività sono necessari i seguenti passaggi:
Non è necessario definire l’opzione di esecuzione di PDF seed per eseguire il rendering di un modulo sul client. Se non si specifica un PDF seed, il servizio Forms crea un file pdf shell che non contiene oggetti COS ma contiene un wrapper PDF con il contenuto XDP effettivo incorporato all'interno. I passaggi di questa sezione non impostano l’opzione di esecuzione di PDF seed. Per informazioni sugli oggetti COS, consulta 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 client siano incluse nella logica dell’applicazione per il rendering di un modulo.
Scrivere il flusso di dati del modulo sul browser Web client
Il servizio Forms crea un flusso di dati del modulo che è necessario scrivere nel browser Web client. Una volta scritto nel browser Web client, il modulo viene sottoposto a rendering 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 dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di Forms Service
Trasmissione 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
Includi file JAR client, come adobe-forms-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto API client Forms
ServiceClientFactory
oggetto contenente le proprietà di connessione.FormsServiceClient
utilizzando il relativo costruttore e passando ServiceClientFactory
oggetto.Impostare le opzioni di esecuzione del rendering client
PDFFormRenderSpec
utilizzando il relativo costruttore.RenderAtClient
opzione di esecuzione richiamando il PDFFormRenderSpec
dell’oggetto setRenderAtClient
e passando il valore enum RenderAtClient.Yes
.Eseguire il rendering di un modulo sul client
Richiama il FormsServiceClient
dell’oggetto renderPDFForm
e passare i seguenti valori:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.com.adobe.idp.Document
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuoto com.adobe.idp.Document
oggetto.PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client.URLSpec
oggetto contenente valori URI richiesti dal servizio Forms per il rendering di un modulo.java.util.HashMap
oggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificare null
se non si desidera allegare file al modulo.La renderPDFForm
restituisce un FormsResult
oggetto che contiene un flusso di dati del modulo che deve essere scritto nel browser Web client.
Scrivere il flusso di dati del modulo sul browser Web client
com.adobe.idp.Document
richiamando l'oggetto FormsResult
oggetto ‘s getOutputContent
metodo .com.adobe.idp.Document
richiamandone l'oggetto getContentType
metodo .javax.servlet.http.HttpServletResponse
tipo di contenuto dell’oggetto richiamandone il tipo setContentType
e passare il tipo di contenuto com.adobe.idp.Document
oggetto.javax.servlet.ServletOutputStream
oggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando il javax.servlet.http.HttpServletResponse
dell’oggetto getOutputStream
metodo .java.io.InputStream
richiamando l'oggetto com.adobe.idp.Document
dell’oggetto getInputStream
metodo .InputStream
dell’oggetto read
e passare l'array di byte come argomento.javax.servlet.ServletOutputStream
dell’oggetto write
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte al write
metodo .Consulta anche
Avvio rapido (modalità SOAP): Rendering di un modulo sul client utilizzando l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Eseguire il rendering di un modulo sul client utilizzando l’API Forms (servizio Web):
Includi file di progetto
Creare un oggetto API client Forms
Crea un FormsService
e impostare i valori di autenticazione.
Impostare le opzioni di esecuzione del rendering client
PDFFormRenderSpec
utilizzando il relativo costruttore.RenderAtClient
opzione di esecuzione richiamando il PDFFormRenderSpec
dell’oggetto setRenderAtClient
e passare il valore della stringa RenderAtClient.Yes
.Eseguire il rendering di un modulo sul client
Richiama il FormsService
dell’oggetto renderPDFForm
e passare i seguenti valori:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.BLOB
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare null
. (Vedi Precompilazione di Forms con layout fluidi.)PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client.URLSpec
oggetto che contiene i valori URI richiesti dal servizio Forms.java.util.HashMap
oggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificare null
se non si desidera allegare file al modulo.com.adobe.idp.services.holders.BLOBHolder
oggetto popolato dal metodo . Questo parametro viene utilizzato per memorizzare il modulo PDF di cui è stato eseguito il rendering.javax.xml.rpc.holders.LongHolder
oggetto popolato dal metodo . Questo argomento memorizza il numero di pagine nel modulo.javax.xml.rpc.holders.StringHolder
oggetto popolato dal metodo . (Questo argomento memorizza il valore delle impostazioni internazionali).com.adobe.idp.services.holders.FormsResultHolder
oggetto che conterrà i risultati dell'operazione.La renderPDFForm
popola il com.adobe.idp.services.holders.FormsResultHolder
oggetto passato come ultimo valore argomento con un flusso di dati del modulo che deve essere scritto nel browser Web client.
Scrivere il flusso di dati del modulo sul browser Web client
FormResult
ottenendo il valore del com.adobe.idp.services.holders.FormsResultHolder
dell’oggetto value
membro dati.BLOB
oggetto che contiene i dati del modulo richiamando il FormsResult
dell’oggetto getOutputContent
metodo .BLOB
richiamandone l'oggetto getContentType
metodo .javax.servlet.http.HttpServletResponse
tipo di contenuto dell’oggetto richiamandone il tipo setContentType
e passare il tipo di contenuto BLOB
oggetto.javax.servlet.ServletOutputStream
oggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando il javax.servlet.http.HttpServletResponse
dell’oggetto getOutputStream
metodo .BLOB
dell’oggetto getBinaryData
metodo . Questa attività assegna il contenuto del FormsResult
all'array di byte.javax.servlet.http.HttpServletResponse
dell’oggetto write
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte al write
metodo .Consulta anche
Richiamo di AEM Forms con codifica Base64