Rendering di Forms sul client rendering-forms-at-the-client
Rendering di Forms sul client rendering-forms-at-the-client-inner
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.
Riepilogo dei passaggi summary-of-steps
Per eseguire il rendering di un modulo sul client, eseguire le operazioni seguenti:
- Includi file di progetto.
- Creare un oggetto API client Forms.
- Imposta le opzioni di esecuzione del rendering client.
- Eseguire il rendering di un modulo sul client.
- Scrivere il modulo sul browser Web client.
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:
- Stabilire se è necessario incorporare font all’interno del file PDF seed. Il file seed PDF dovrà contenere font aggiuntivi richiesti dal modulo di cui si sta eseguendo il rendering. Quando incorpori font nel file PDF di seed, assicurati di non violare alcun contratto di licenza per font. In Designer è possibile determinare se è possibile incorporare legalmente i font. Al momento del salvataggio, se non è possibile incorporare font nel modulo, in Designer viene visualizzato un messaggio in cui sono elencati i font che non è possibile incorporare. Questo messaggio non viene visualizzato in Designer per i documenti PDF statici.
- Se si sta creando il file PDF di seed in Designer, è consigliabile aggiungere almeno un campo di testo contenente un messaggio. Il messaggio deve essere indirizzato agli utenti delle versioni precedenti di Adobe Reader, dichiarando che per visualizzare il documento è necessario Acrobat 7.0 o versioni successive o Adobe Reader 7.0 o versioni successive.
- Salva il file PDF di seed come file PDF dinamico con l’estensione del nome file 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 Java render-a-form-at-the-client-using-the-java-api
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
- Crea un
ServiceClientFactory
oggetto contenente le proprietà di connessione. - Crea un
FormsServiceClient
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto.
- Crea un
-
Impostare le opzioni di esecuzione del rendering client
- Crea un
PDFFormRenderSpec
utilizzando il relativo costruttore. - Imposta la
RenderAtClient
opzione di esecuzione richiamando ilPDFFormRenderSpec
dell’oggettosetRenderAtClient
e passando il valore enumRenderAtClient.Yes
.
- Crea un
-
Eseguire il rendering di un modulo sul client
Richiama il
FormsServiceClient
dell’oggettorenderPDFForm
e passare i seguenti valori:- Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file. Se si fa riferimento a una struttura del modulo che fa parte di un’applicazione AEM Forms, verificare di specificare il percorso completo, ad esempio
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - A
com.adobe.idp.Document
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotocom.adobe.idp.Document
oggetto. - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client. - A
URLSpec
oggetto contenente valori URI richiesti dal servizio Forms per il rendering di un modulo. - A
java.util.HashMap
oggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenull
se non si desidera allegare file al modulo.
La
renderPDFForm
restituisce unFormsResult
oggetto che contiene un flusso di dati del modulo che deve essere scritto nel browser Web client. - Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file. Se si fa riferimento a una struttura del modulo che fa parte di un’applicazione AEM Forms, verificare di specificare il percorso completo, ad esempio
-
Scrivere il flusso di dati del modulo sul browser Web client
- Crea un
com.adobe.idp.Document
richiamando l'oggettoFormsResult
oggetto ‘sgetOutputContent
metodo . - Ottieni il tipo di contenuto del
com.adobe.idp.Document
richiamandone l'oggettogetContentType
metodo . - Imposta la
javax.servlet.http.HttpServletResponse
tipo di contenuto dell’oggetto richiamandone il tiposetContentType
e passare il tipo di contenutocom.adobe.idp.Document
oggetto. - Crea un
javax.servlet.ServletOutputStream
oggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando iljavax.servlet.http.HttpServletResponse
dell’oggettogetOutputStream
metodo . - Crea un
java.io.InputStream
richiamando l'oggettocom.adobe.idp.Document
dell’oggettogetInputStream
metodo . - Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il
InputStream
dell’oggettoread
e passare l'array di byte come argomento. - Richiama il
javax.servlet.ServletOutputStream
dell’oggettowrite
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwrite
metodo .
- Crea un
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 del servizio Web render-a-form-at-the-client-using-the-web-service-api
Eseguire il rendering di un modulo sul client utilizzando l’API Forms (servizio Web):
-
Includi file di progetto
- Creare classi proxy Java che utilizzano il servizio WSDL di Forms.
- Includi le classi proxy Java nel percorso della classe.
-
Creare un oggetto API client Forms
Crea un
FormsService
e impostare i valori di autenticazione. -
Impostare le opzioni di esecuzione del rendering client
- Crea un
PDFFormRenderSpec
utilizzando il relativo costruttore. - Imposta la
RenderAtClient
opzione di esecuzione richiamando ilPDFFormRenderSpec
dell’oggettosetRenderAtClient
e passare il valore della stringaRenderAtClient.Yes
.
- Crea un
-
Eseguire il rendering di un modulo sul client
Richiama il
FormsService
dell’oggettorenderPDFForm
e passare i seguenti valori:- Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file. Se si fa riferimento a una struttura del modulo che fa parte di un'applicazione Forms, verificare di specificare il percorso completo, ad esempio
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - A
BLOB
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passarenull
. (Vedi Precompilazione di Forms con layout fluidi.) - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client. - A
URLSpec
oggetto che contiene i valori URI richiesti dal servizio Forms. - A
java.util.HashMap
oggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenull
se non si desidera allegare file al modulo. - Un vuoto
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. - Un vuoto
javax.xml.rpc.holders.LongHolder
oggetto popolato dal metodo . Questo argomento memorizza il numero di pagine nel modulo. - Un vuoto
javax.xml.rpc.holders.StringHolder
oggetto popolato dal metodo . (Questo argomento memorizza il valore delle impostazioni internazionali). - Un vuoto
com.adobe.idp.services.holders.FormsResultHolder
oggetto che conterrà i risultati dell'operazione.
La
renderPDFForm
popola ilcom.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. - Valore stringa che specifica il nome della struttura del modulo, inclusa l'estensione del nome file. Se si fa riferimento a una struttura del modulo che fa parte di un'applicazione Forms, verificare di specificare il percorso completo, ad esempio
-
Scrivere il flusso di dati del modulo sul browser Web client
- Crea un
FormResult
ottenendo il valore delcom.adobe.idp.services.holders.FormsResultHolder
dell’oggettovalue
membro dati. - Crea un
BLOB
oggetto che contiene i dati del modulo richiamando ilFormsResult
dell’oggettogetOutputContent
metodo . - Ottieni il tipo di contenuto del
BLOB
richiamandone l'oggettogetContentType
metodo . - Imposta la
javax.servlet.http.HttpServletResponse
tipo di contenuto dell’oggetto richiamandone il tiposetContentType
e passare il tipo di contenutoBLOB
oggetto. - Crea un
javax.servlet.ServletOutputStream
oggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando iljavax.servlet.http.HttpServletResponse
dell’oggettogetOutputStream
metodo . - Creare un array di byte e compilarlo richiamando il
BLOB
dell’oggettogetBinaryData
metodo . Questa attività assegna il contenuto delFormsResult
all'array di byte. - Richiama il
javax.servlet.http.HttpServletResponse
dell’oggettowrite
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwrite
metodo .
- Crea un
Consulta anche
Richiamo di AEM Forms con codifica Base64