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
ServiceClientFactoryoggetto contenente le proprietà di connessione. - Crea un
FormsServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Impostare le opzioni di esecuzione del rendering client
- Crea un
PDFFormRenderSpecutilizzando il relativo costruttore. - Imposta la
RenderAtClientopzione di esecuzione richiamando ilPDFFormRenderSpecdell’oggettosetRenderAtCliente passando il valore enumRenderAtClient.Yes.
- Crea un
-
Eseguire il rendering di un modulo sul client
Richiama il
FormsServiceClientdell’oggettorenderPDFForme 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.Documentoggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotocom.adobe.idp.Documentoggetto. - A
PDFFormRenderSpecoggetto che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client. - A
URLSpecoggetto contenente valori URI richiesti dal servizio Forms per il rendering di un modulo. - A
java.util.HashMapoggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo.
La
renderPDFFormrestituisce unFormsResultoggetto 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.Documentrichiamando l'oggettoFormsResultoggetto ‘sgetOutputContentmetodo . - Ottieni il tipo di contenuto del
com.adobe.idp.Documentrichiamandone l'oggettogetContentTypemetodo . - Imposta la
javax.servlet.http.HttpServletResponsetipo di contenuto dell’oggetto richiamandone il tiposetContentTypee passare il tipo di contenutocom.adobe.idp.Documentoggetto. - Crea un
javax.servlet.ServletOutputStreamoggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando iljavax.servlet.http.HttpServletResponsedell’oggettogetOutputStreammetodo . - Crea un
java.io.InputStreamrichiamando l'oggettocom.adobe.idp.Documentdell’oggettogetInputStreammetodo . - Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il
InputStreamdell’oggettoreade passare l'array di byte come argomento. - Richiama il
javax.servlet.ServletOutputStreamdell’oggettowriteper inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwritemetodo .
- 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
FormsServicee impostare i valori di autenticazione. -
Impostare le opzioni di esecuzione del rendering client
- Crea un
PDFFormRenderSpecutilizzando il relativo costruttore. - Imposta la
RenderAtClientopzione di esecuzione richiamando ilPDFFormRenderSpecdell’oggettosetRenderAtCliente passare il valore della stringaRenderAtClient.Yes.
- Crea un
-
Eseguire il rendering di un modulo sul client
Richiama il
FormsServicedell’oggettorenderPDFForme 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
BLOBoggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passarenull. (Vedi Precompilazione di Forms con layout fluidi.) - A
PDFFormRenderSpecoggetto che memorizza le opzioni di esecuzione necessarie per eseguire il rendering di un modulo sul client. - A
URLSpecoggetto che contiene i valori URI richiesti dal servizio Forms. - A
java.util.HashMapoggetto che memorizza gli allegati di file. Si tratta di un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo. - Un vuoto
com.adobe.idp.services.holders.BLOBHolderoggetto popolato dal metodo . Questo parametro viene utilizzato per memorizzare il modulo PDF di cui è stato eseguito il rendering. - Un vuoto
javax.xml.rpc.holders.LongHolderoggetto popolato dal metodo . Questo argomento memorizza il numero di pagine nel modulo. - Un vuoto
javax.xml.rpc.holders.StringHolderoggetto popolato dal metodo . (Questo argomento memorizza il valore delle impostazioni internazionali). - Un vuoto
com.adobe.idp.services.holders.FormsResultHolderoggetto che conterrà i risultati dell'operazione.
La
renderPDFFormpopola ilcom.adobe.idp.services.holders.FormsResultHolderoggetto 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
FormResultottenendo il valore delcom.adobe.idp.services.holders.FormsResultHolderdell’oggettovaluemembro dati. - Crea un
BLOBoggetto che contiene i dati del modulo richiamando ilFormsResultdell’oggettogetOutputContentmetodo . - Ottieni il tipo di contenuto del
BLOBrichiamandone l'oggettogetContentTypemetodo . - Imposta la
javax.servlet.http.HttpServletResponsetipo di contenuto dell’oggetto richiamandone il tiposetContentTypee passare il tipo di contenutoBLOBoggetto. - Crea un
javax.servlet.ServletOutputStreamoggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando iljavax.servlet.http.HttpServletResponsedell’oggettogetOutputStreammetodo . - Creare un array di byte e compilarlo richiamando il
BLOBdell’oggettogetBinaryDatametodo . Questa attività assegna il contenuto delFormsResultall'array di byte. - Richiama il
javax.servlet.http.HttpServletResponsedell’oggettowriteper inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwritemetodo .
- Crea un
Consulta anche
Richiamo di AEM Forms con codifica Base64