Informazioni sul servizio di output
Il servizio Output consente di inviare documenti in formato PDF (inclusi documenti PDF/A), PostScript, PCL (Printer Control Language) e i seguenti formati di etichetta:
Tramite il servizio Output è possibile unire i dati del modulo XML a una struttura del modulo e inviare il documento a una stampante o a un file di rete.
Esistono due modi per passare una struttura del modulo (un file XDP) al servizio Output. È possibile passare un'istanza com.adobe.idp.Document
che contiene una struttura del modulo al servizio Output. In alternativa, è possibile passare un valore URI che specifica la posizione della struttura del modulo. Entrambi questi modi sono descritti in Programmazione con moduli AEM.
Il servizio di output non supporta i documenti PDF Acrobat contenenti script specifici per oggetti applicativi. Non viene eseguito il rendering dei documenti PDF Acrobat contenenti script specifici per oggetti applicativi.
Nelle sezioni seguenti viene illustrato come passare una struttura del modulo al servizio Output utilizzando un valore URI:
Nelle sezioni seguenti viene illustrato come passare una struttura del modulo all’interno di un’istanza com.adobe.idp.Document
:
Quando si decide quale tecnica utilizzare, occorre considerare se la struttura del modulo viene ottenuta da un altro servizio AEM Forms e quindi passarla all’interno di un’istanza com.adobe.idp.Document
. Le sezioni Trasmissione di documenti al servizio di output e Creazione di documenti PDF tramite frammenti mostrano come ottenere una struttura del modulo da un altro servizio AEM Forms. La prima sezione recupera la struttura del modulo da Content Services (obsoleto). La seconda sezione recupera la struttura del modulo dal servizio Assembler.
Se si ottiene la struttura del modulo da una posizione fissa, ad esempio il file system, è possibile utilizzare una di queste tecniche. In altre parole, è possibile specificare il valore URI in un file XDP o utilizzare un'istanza com.adobe.idp.Document
.
Per passare un valore URI che specifichi la posizione della struttura del modulo durante la creazione di un documento PDF, utilizzare il metodo generatePDFOutput
. Allo stesso modo, per passare un'istanza com.adobe.idp.Document
al servizio Output durante la creazione di un documento PDF, utilizzare il metodo generatePDFOutput2
.
Quando si invia un flusso di output a una stampante di rete, è inoltre possibile utilizzare una di queste tecniche. Per inviare un flusso di output a una stampante passando un'istanza com.adobe.idp.Document
che contiene una struttura del modulo, utilizzare il metodo sendToPrinter2
. Per inviare un flusso di output a una stampante passando un valore URI, utilizzare il metodo sendToPrinter
. La sezione Invio di flussi di stampa alle stampanti utilizza il metodo sendToPrinter
.
Puoi eseguire queste attività utilizzando il servizio Output:
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
È possibile utilizzare il servizio Output per creare un documento PDF basato su una struttura del modulo e sui dati del modulo XML forniti. Il documento PDF creato dal servizio Output non è un documento PDF interattivo; un utente non può immettere o modificare i dati del modulo.
Per creare un documento PDF destinato all’archiviazione a lungo termine, è consigliabile creare un documento PDF/A. (Vedere Creazione di documenti PDF/A.)
Per creare un modulo PDF interattivo che consenta all’utente di immettere i dati, utilizzare il servizio Forms. (Vedere Rendering di PDF forms interattivi.)
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per creare un documento PDF, 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.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
se AEM Forms è distribuito su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms.
Creare un oggetto Client di output
Prima di poter eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzi l’API Java, crea un oggetto OutputClient
. Se utilizzi l’API del servizio Web Output, crea un oggetto OutputServiceService
.
Riferimento a un’origine dati XML
Per unire i dati alla struttura del modulo, è necessario fare riferimento a un’origine dati XML contenente i dati. Per ogni campo del modulo che si intende compilare con i dati deve esistere un elemento XML. Il nome dell'elemento XML deve corrispondere al nome del campo. Un elemento XML viene ignorato se non corrisponde a un campo modulo o se il nome dell’elemento XML non corrisponde al nome del campo. Se vengono specificati tutti gli elementi XML, non è necessario stabilire una corrispondenza con l’ordine in cui vengono visualizzati gli elementi XML.
Prendi in considerazione il seguente modulo di richiesta di prestito.
Per unire i dati alla struttura del modulo, è necessario creare un’origine dati XML corrispondente al modulo. Il seguente XML rappresenta un'origine dati XML XDP che corrisponde al modulo di applicazione per ipoteca di esempio.
<?xml version="1.0" encoding="UTF-8" ?>
- <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
- <xfa:data>
- <data>
- <Layer>
<closeDate>1/26/2007</closeDate>
<lastName>Johnson</lastName>
<firstName>Jerry</firstName>
<mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
<city>New York</city>
<zipCode>00501</zipCode>
<state>NY</state>
<dateBirth>26/08/1973</dateBirth>
<middleInitials>D</middleInitials>
<socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
<phoneNumber>5555550000</phoneNumber>
</Layer>
- <Mortgage>
<mortgageAmount>295000.00</mortgageAmount>
<monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
<purchasePrice>300000</purchasePrice>
<downPayment>5000</downPayment>
<term>25</term>
<interestRate>5.00</interestRate>
</Mortgage>
</data>
</xfa:data>
</xfa:datasets>
Impostare le opzioni di esecuzione PDF
Impostare l’opzione URI del file durante la creazione di un documento PDF. Questa opzione specifica il nome e la posizione del file PDF generato dal servizio Output.
Invece di impostare l’opzione di esecuzione URI del file, è possibile recuperare in modo programmatico il documento PDF dal tipo di dati complesso restituito dal servizio Output. Tuttavia, impostando l’opzione di esecuzione URI del file, non è necessario creare una logica applicativa che recuperi il documento PDF a livello di programmazione.
Impostare le opzioni di esecuzione del rendering
È possibile impostare le opzioni di esecuzione del rendering durante la creazione di un documento PDF. Sebbene queste opzioni non siano necessarie (a differenza delle opzioni di esecuzione in PDF richieste), è possibile eseguire attività quali il miglioramento delle prestazioni del servizio Output. Ad esempio, è possibile memorizzare nella cache la struttura del modulo utilizzata dal servizio Output per migliorarne le prestazioni.
Se si utilizza un modulo Acrobat con tag come input, non è possibile utilizzare Java del servizio di output o API del servizio Web per disattivare l’impostazione con tag. Se si tenta di impostare in modo programmatico questa opzione su false
, il documento PDF risultante è ancora contrassegnato.
Se non si specificano le opzioni di esecuzione del rendering, vengono utilizzati i valori predefiniti. Per informazioni sulle opzioni di rendering in fase di esecuzione, vedere il riferimento alla classe RenderOptionsSpec
. (Consulta Riferimento API AEM Forms).
Genera un documento PDF
Dopo aver fatto riferimento a un’origine dati XML valida contenente i dati del modulo e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output, che genera un documento PDF.
Quando si genera un documento PDF, è necessario specificare i valori URI richiesti dal servizio Output per creare un documento PDF. Una struttura del modulo può essere memorizzata in posizioni quali il file system del server o come parte di un’applicazione AEM Forms. È possibile fare riferimento a una struttura del modulo (o ad altre risorse, come un file immagine) esistente come parte di un’applicazione Forms utilizzando il valore URI della directory principale contenuto repository:///
. Ad esempio, considerare la seguente struttura del modulo denominata Loan.xdp situata all'interno di un'applicazione Forms denominata Applicazioni/FormsApplication:
Per accedere al file Loan.xdp mostrato nell’illustrazione precedente, specifica repository:///Applications/FormsApplication/1.0/FormsFolder/
come terzo parametro passato al metodo OutputClient
dell’oggetto generatePDFOutput
. Specificare il nome del modulo (Loan.xdp) come secondo parametro passato al metodo OutputClient
dell'oggetto generatePDFOutput
.
Se il file XDP contiene immagini (o altre risorse come frammenti), posiziona le risorse nella stessa cartella dell’applicazione del file XDP. AEM Forms utilizza l’URI della directory principale del contenuto come percorso di base per risolvere i riferimenti alle immagini. Ad esempio, se il file Loan.xdp contiene un’immagine, accertati di inserire l’immagine in Applications/FormsApplication/1.0/FormsFolder/
.
È possibile fare riferimento a un URI di applicazione Forms quando si richiamano i metodi generatePDFOutput
o generatePrintedOutput
dell'oggetto OutputClient
.
Per visualizzare un avvio rapido completo che crea un documento PDF facendo riferimento a un file XDP presente in un'applicazione Forms, vedere Avvio rapido (modalità EJB): Creazione di un documento PDF basato su un file XDP dell'applicazione utilizzando l'API Java.
Recupera i risultati dell'operazione
Dopo l'esecuzione di un'operazione, il servizio Output restituisce vari elementi di dati, ad esempio dati XML di stato, che specificano se l'operazione ha avuto esito positivo.
Consulta anche
Creare un documento PDF utilizzando l’API Java
Creare un documento PDF utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Crea un documento PDF utilizzando l’API di output (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Client di output.
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Fare riferimento a un'origine dati XML.
java.io.FileInputStream
che rappresenta l'origine dati XML utilizzata per compilare il documento PDF utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.com.adobe.idp.Document
utilizzando il relativo costruttore. Passa l'oggetto java.io.FileInputStream
.Impostare le opzioni di esecuzione PDF.
PDFOutputOptionsSpec
utilizzando il relativo costruttore.setFileURI
dell’oggetto PDFOutputOptionsSpec
. Passa un valore stringa che specifica la posizione del file PDF generato dal servizio Output. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.Imposta le opzioni di esecuzione del rendering.
RenderOptionsSpec
utilizzando il relativo costruttore.setCacheEnabled
dell’oggetto RenderOptionsSpec
e passando true
.Non è possibile impostare la versione del documento PDF utilizzando il metodo setPdfVersion
dell’oggetto RenderOptionsSpec
se il documento di input è un modulo Acrobat (un modulo creato in Acrobat) o un documento XFA firmato o certificato. Il documento PDF di output conserva la versione PDF originale. Allo stesso modo, non è possibile impostare l’opzione Adobe PDF con tag richiamando il metodo setTaggedPDF
* dell’oggetto RenderOptionsSpec
se il documento di input è un modulo Acrobat o un documento XFA firmato o certificato. *
Non è possibile impostare l’opzione PDF linearizzato utilizzando il metodo setLinearizedPDF
dell’oggetto RenderOptionsSpec
se il documento PDF di input è certificato o firmato digitalmente. (Vedere Firma digitale di documenti PDF .)
Genera un documento PDF.
Creare un documento PDF richiamando il metodo generatePDFOutput
dell'oggetto OutputClient
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.Il metodo generatePDFOutput
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Quando si genera un documento PDF richiamando il metodo generatePDFOutput
, tenere presente che non è possibile unire i dati a un modulo PDF XFA firmato o certificato. (Vedere Firma digitale e certificazione dei documenti .)
Il metodo OutputResult
dell'oggetto getRecordLevelMetaDataList
restituisce null
.
È inoltre possibile creare un documento PDF richiamando il metodo generatePDFOutput2
dell'oggetto OutputClient
. (Vedere Trasmissione di documenti situati in Content Services (obsoleto) al servizio di output .)
Recupera i risultati dell’operazione.
com.adobe.idp.Document
che rappresenta lo stato dell'operazione generatePDFOutput
richiamando il metodo OutputResult
dell'oggetto getStatusDoc
. Questo metodo restituisce dati XML di stato che specificano se l'operazione è riuscita.java.io.File
contenente i risultati dell'operazione. Assicurati che l'estensione del nome file sia .xml.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getStatusDoc
).Sebbene il servizio Output scriva il documento PDF nel percorso specificato dall'argomento passato al metodo setFileURI
dell'oggetto PDFOutputOptionsSpec
, è possibile recuperare il documento PDF/A a livello di programmazione richiamando il metodo OutputResult
dell'oggetto getGeneratedDoc
.
Consulta anche
Avvio rapido (modalità EJB): Creazione di un documento PDF tramite l’API Java
Avvio rapido (modalità SOAP): Creazione di un documento PDF tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Creare un documento PDF utilizzando l’API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
* con l’indirizzo IP del server che ospita AEM Forms. *
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Fare riferimento a un'origine dati XML.
BLOB
utilizzando il relativo costruttore. L'oggetto BLOB
viene utilizzato per memorizzare i dati XML che verranno uniti al documento PDF.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file XML contenente i dati del modulo.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando il relativo campo MTOM
con il contenuto dell'array di byte.Impostare le opzioni di esecuzione PDF
PDFOutputOptionsSpec
utilizzando il relativo costruttore.PDFOutputOptionsSpec
dell'oggetto fileURI
. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.Imposta le opzioni di esecuzione del rendering.
RenderOptionsSpec
utilizzando il relativo costruttore.true
al membro dati RenderOptionsSpec
dell’oggetto cacheEnabled
.Non è possibile impostare la versione del documento PDF utilizzando il metodo setPdfVersion
dell’oggetto RenderOptionsSpec
se il documento di input è un modulo Acrobat (un modulo creato in Acrobat) o un documento XFA firmato o certificato. Il documento PDF di output conserva la versione PDF originale. Allo stesso modo, non è possibile impostare l’opzione Adobe PDF con tag richiamando il metodo setTaggedPDF
* dell’oggetto RenderOptionsSpec
se il documento di input è un modulo Acrobat o un documento XFA firmato o certificato.*
Non è possibile impostare l’opzione PDF linearizzato utilizzando il membro linearizedPDF
dell’oggetto RenderOptionsSpec
se il documento PDF di input è certificato o firmato digitalmente. (Vedere Firma digitale di documenti PDF .)
Genera un documento PDF.
Creare un documento PDF richiamando il metodo generatePDFOutput
dell'oggetto OutputServiceService
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.BLOB
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i dati dei risultati. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).OutputResult
contenente i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Quando si genera un documento PDF richiamando il metodo generatePDFOutput
, tenere presente che non è possibile unire i dati a un modulo PDF XFA firmato o certificato. (Vedere Firma digitale e certificazione dei documenti .)
È inoltre possibile creare un documento PDF richiamando il metodo generatePDFOutput2
dell'oggetto OutputClient
. (Vedere Trasmissione di documenti situati in Content Services (obsoleto) al servizio di output .)
Recupera i risultati dell’operazione.
System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Assicurati che l'estensione del nome file sia .xml.BLOB
popolato con i dati dei risultati dal metodo OutputServiceService
dell'oggetto generatePDFOutput
(l'ottavo parametro). Compilare l’array di byte ottenendo il valore dell’oggetto BLOB
MTOM
field
dell’oggetto.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell'oggetto Write
e passando l'array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Il metodo generateOutput
dell'oggetto OutputServiceService
è obsoleto.
È possibile utilizzare il servizio Output per creare un documento PDF/A. Poiché PDF/A è un formato di archiviazione per la conservazione a lungo termine del contenuto del documento, tutti i font vengono incorporati e il file non viene compresso. Di conseguenza, un documento PDF/A è generalmente più grande di un documento PDF standard. Inoltre, un documento PDF/A non contiene contenuto audio e video. Come per altre attività del servizio Output, è necessario fornire una struttura del modulo e i dati da unire a una struttura del modulo per creare un documento PDF/A.
La specifica PDF/A-1 è costituita da due livelli di conformità, ovvero a e b. La differenza principale tra i due riguarda il supporto della struttura logica (accessibilità), che non è necessario per il livello di conformità b. Indipendentemente dal livello di conformità, PDF/A-1 determina che tutti i font sono incorporati nel documento PDF/A generato.
Sebbene PDF/A sia lo standard per l’archiviazione di documenti PDF, non è obbligatorio utilizzare PDF/A per l’archiviazione se un documento PDF standard soddisfa le esigenze della tua azienda. Lo scopo dello standard PDF/A è quello di stabilire un file PDF che possa essere archiviato per un lungo periodo di tempo e che soddisfi i requisiti di conservazione dei documenti. Ad esempio, un URL non può essere incorporato in un PDF/A perché nel tempo l’URL potrebbe non essere valido.
L'organizzazione deve valutare le proprie esigenze, il periodo di tempo previsto per la conservazione del documento, le dimensioni del file e determinare la propria strategia di archiviazione. È possibile determinare a livello di programmazione se un documento PDF è compatibile con PDF/A utilizzando il servizio DocConverter. (Consultare Determinazione programmatica della conformità PDF/A.)
Un documento PDF/A deve utilizzare il font specificato nella struttura del modulo e i font non possono essere sostituiti. Di conseguenza, se un font che si trova all’interno di un documento PDF non è disponibile nel sistema operativo host (OS), si verifica un’eccezione.
Quando un documento PDF/A viene aperto in Acrobat, viene visualizzato un messaggio che conferma che il documento è un documento PDF/A, come illustrato nella figura seguente.
Il sito web AIIM dispone di una sezione FAQ PDF/A a cui puoi accedere all'indirizzo https://www.loc.gov/preservation/digital/formats/fdd/fdd000125.shtml.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per creare un documento PDF/A, effettuare le seguenti operazioni:
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione personalizzata utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, assicurati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
se AEM Forms è distribuito su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms.
Creare un oggetto Client di output
Prima di poter eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzi l’API Java, crea un oggetto OutputClient
. Se utilizzi l’API del servizio Web Output, crea un oggetto OutputServiceService
.
Riferimento a un’origine dati XML
Per unire i dati alla struttura del modulo, è necessario fare riferimento a un’origine dati XML contenente i dati. Per ogni campo del modulo che si desidera compilare con i dati deve esistere un elemento XML. Il nome dell'elemento XML deve corrispondere al nome del campo. Un elemento XML viene ignorato se non corrisponde a un campo modulo o se il nome dell’elemento XML non corrisponde al nome del campo. Se vengono specificati tutti gli elementi XML, non è necessario stabilire una corrispondenza con l’ordine in cui vengono visualizzati gli elementi XML.
Impostare le opzioni di esecuzione PDF/A
È possibile impostare l’opzione URI file durante la creazione di un documento PDF/A. L’URI è relativo al server applicazioni J2EE che ospita AEM Forms. In altre parole, se si imposta C:\Adobe, il file viene scritto nella cartella sul server, non nel computer client. L’URI specifica il nome e la posizione del file PDF/A generato dal servizio Output.
Impostare le opzioni di esecuzione del rendering
È possibile impostare le opzioni di esecuzione del rendering durante la creazione di documenti PDF/A. È possibile impostare due opzioni relative a PDF/A: i valori PDFAConformance
e PDFARevisionNumber
. Il valore PDFAConformance
si riferisce al modo in cui un documento PDF aderisce ai requisiti che specificano il modo in cui vengono conservati i documenti elettronici a lungo termine. I valori validi per questa opzione sono A
e B
. Per informazioni sulla conformità ai livelli a e b, vedere la specifica ISO PDF/A-1 denominata ISO 19005-1 Document Management.
Il valore PDFARevisionNumber
si riferisce al numero di revisione di un documento PDF/A. Per informazioni sul numero di revisione di un documento PDF/A, vedere la specifica ISO PDF/A-1 denominata ISO 19005-1 Document Management.
Non è possibile impostare l’opzione Adobe PDF con tag su false
durante la creazione di un documento PDF/A 1A. PDF/A 1A sarà sempre un documento PDF con tag. Inoltre, non è possibile impostare l’opzione Adobe PDF con tag su true
durante la creazione di un documento PDF/A 1B. PDF/A 1B sarà sempre un documento PDF senza tag.
Genera un documento PDF/A
Dopo aver fatto riferimento a un’origine dati XML valida contenente i dati del modulo e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output generando un documento PDF/A.
Recupera i risultati dell'operazione
Dopo l'esecuzione di un'operazione, il servizio Output restituisce vari elementi di dati, ad esempio dati XML, che specificano se l'operazione ha avuto esito positivo.
Consulta anche
Creare un documento PDF/A utilizzando l’API Java
Creare un documento PDF/A utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Crea un documento PDF/A utilizzando l’API di output (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Client di output.
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Fare riferimento a un'origine dati XML.
java.io.FileInputStream
che rappresenta l'origine dati XML utilizzata per compilare il documento PDF/A utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Impostare le opzioni di esecuzione PDF/A.
PDFOutputOptionsSpec
utilizzando il relativo costruttore.setFileURI
dell’oggetto PDFOutputOptionsSpec
. Passa un valore stringa che specifica la posizione del file PDF generato dal servizio Output. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.Imposta le opzioni di esecuzione del rendering.
RenderOptionsSpec
utilizzando il relativo costruttore.PDFAConformance
richiamando il metodo RenderOptionsSpec
dell'oggetto setPDFAConformance
e passando un valore di enum PDFAConformance
che specifica il livello di conformità. Ad esempio, per specificare il livello di conformità A, passare PDFAConformance.A
.PDFARevisionNumber
richiamando il metodo RenderOptionsSpec
dell'oggetto setPDFARevisionNumber
e passando PDFARevisionNumber.Revision_1
.La versione PDF di un documento PDF/A è 1.4 indipendentemente dal valore specificato per il metodo setPdfVersion
dell'oggetto.RenderOptionsSpec
Genera un documento PDF/A.
Creare un documento PDF/A richiamando il metodo generatePDFOutput
dell’oggetto OutputClient
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF/A, specificare TransformationFormat.PDFA
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.Il metodo generatePDFOutput
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Il metodo OutputResult
dell'oggetto getRecordLevelMetaDataList
restituisce null
*. *
È inoltre possibile creare un documento PDF/A richiamando il metodo generatePDFOutput
2 dell'oggetto OutputClient
2. (Consultare Trasmissione di documenti situati in Content Services (obsoleto) al servizio di output.)
Recupera i risultati dell’operazione.
com.adobe.idp.Document
che rappresenti lo stato del metodo generatePDFOutput
richiamando il metodo OutputResult
dell'oggetto getStatusDoc
.java.io.File
che conterrà i risultati dell'operazione. Assicurati che l'estensione del nome file sia .xml.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getStatusDoc
).Sebbene il servizio Output scriva il documento PDF/A nel percorso specificato dall'argomento passato al metodo setFileURI
dell'oggetto PDFOutputOptionsSpec
, è possibile recuperare il documento PDF/A a livello di programmazione richiamando il metodo OutputResult
getGeneratedDoc
* dell'oggetto .
Consulta anche
Avvio rapido (modalità SOAP): Creazione di un documento PDF/A tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione.
Crea un documento PDF/A utilizzando l’API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
* con l’indirizzo IP del server che ospita AEM Forms. *
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Fare riferimento a un'origine dati XML.
BLOB
utilizzando il relativo costruttore. L’oggetto BLOB
viene utilizzato per memorizzare i dati che verranno uniti al documento PDF/A.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF da cifrare e la modalità di apertura del file.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando il relativo campo MTOM
con il contenuto dell'array di byte.Impostare le opzioni di esecuzione PDF/A.
PDFOutputOptionsSpec
utilizzando il relativo costruttore.PDFOutputOptionsSpec
dell'oggetto fileURI
. L'opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer clientImposta le opzioni di esecuzione del rendering.
RenderOptionsSpec
utilizzando il relativo costruttore.PDFAConformance
assegnando un valore enum PDFAConformance
al membro dati RenderOptionsSpec
dell'oggetto PDFAConformance
. Ad esempio, per specificare il livello di conformità A, assegnare PDFAConformance.A
a questo membro dati.PDFARevisionNumber
assegnando un valore enum PDFARevisionNumber
al membro dati RenderOptionsSpec
dell'oggetto PDFARevisionNumber
. Assegna PDFARevisionNumber.Revision_1
al membro dati.La versione PDF di un documento PDF/A è 1.4 indipendentemente dal valore specificato.
Genera un documento PDF/A.
Creare un documento PDF richiamando il metodo generatePDFOutput
dell'oggetto OutputServiceService
e passando i seguenti valori:
TransformationFormat.PDFA
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.BLOB
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i metadati generati che descrivono il documento. Questo valore di parametro è necessario solo per la chiamata al servizio Web.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i dati dei risultati. Questo valore di parametro è necessario solo per la chiamata al servizio Web.OutputResult
contenente i risultati dell'operazione. Questo valore di parametro è necessario solo per la chiamata al servizio Web.È inoltre possibile creare un documento PDF/A richiamando il metodo generatePDFOutput
2 dell'oggetto OutputClient
2. (Consultare Trasmissione di documenti situati in Content Services (obsoleto) al servizio di output.)
Recupera i risultati dell’operazione.
System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Assicurati che l'estensione del nome file sia .xml.BLOB
popolato con i dati dei risultati dal metodo OutputServiceService
dell'oggetto generatePDFOutput
(l'ottavo parametro). Compilare l’array di byte ottenendo il valore del campo BLOB
dell’oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell'oggetto Write
e passando l'array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
Il servizio Output esegue il rendering di un modulo PDF non interattivo basato su una struttura del modulo generalmente salvata come file XDP e creata in Designer. È possibile passare al servizio Output un oggetto com.adobe.idp.Document
contenente la struttura del modulo. Il servizio Output esegue quindi il rendering della struttura del modulo situata nell'oggetto com.adobe.idp.Document
.
Il vantaggio di passare un oggetto com.adobe.idp.Document
al servizio Output è che altre operazioni del servizio AEM Forms restituiscono un'istanza com.adobe.idp.Document
. In altre parole, puoi ottenere un'istanza com.adobe.idp.Document
da un'altra operazione di servizio ed eseguirne il rendering. Ad esempio, si supponga che un file XDP sia memorizzato in un nodo Content Services (obsoleto) denominato /Company Home/Form Designs
, come illustrato nella figura seguente.
È possibile recuperare in modo programmatico il file Loan.xdp da Content Services (obsoleto) e passare il file XDP al servizio Output all'interno di un oggetto com.adobe.idp.Document
.
Per ulteriori informazioni sul servizio Forms, consulta Riferimento servizi per AEM Forms.
Per passare un documento ottenuto da Content Services (obsoleto) al servizio Output, 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, includi i file proxy.
Creare un oggetto Output e un oggetto API client di gestione documenti
Prima di eseguire un’operazione API del servizio di output a livello di programmazione, creare un oggetto API client di output. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), crea un oggetto API di gestione dei documenti.
Recupera la struttura del modulo da Content Services (obsoleto)
Recupera il file XDP da Content Services (obsoleto) utilizzando l’API Java o del servizio Web. Il file XDP viene restituito all'interno di un'istanza com.adobe.idp.Document
(o di un'istanza BLOB
se utilizzi servizi web). Puoi quindi passare l'istanza com.adobe.idp.Document
al servizio Output.
Rendering del modulo PDF non interattivo
Per eseguire il rendering di un modulo non interattivo, passa l’istanza com.adobe.idp.Document
restituita da Content Services (obsoleto) al servizio Output.
Due nuovi metodi denominati generatePDFOutput2
e g eneratePrintedOutput2
accettano un oggetto com.adobe.idp.Document
contenente una struttura del modulo. È inoltre possibile passare un com.adobe.idp.Document
contenente la struttura del modulo al servizio Output quando si invia un flusso di stampa a una stampante di rete.
Eseguire un’azione con il flusso di dati del modulo
È possibile salvare il modulo non interattivo come file PDF. Il modulo può essere visualizzato in Adobe Reader o Acrobat.
Consulta anche
Trasmettere i documenti al servizio di output utilizzando l’API Java
Trasmettere i documenti al servizio di output utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Creazione di documenti PDF tramite frammenti
Passa un documento recuperato da Content Services (obsoleto) utilizzando il servizio di output e l’API Content Services (obsoleto):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar e adobe-contentservices-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Output e un oggetto API client di gestione documenti.
ServiceClientFactory
contenente le proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.)OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.DocumentManagementServiceClientImpl
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Recupera la struttura del modulo da Content Services (obsoleto).
Richiama il metodo retrieveContent
dell'oggetto DocumentManagementServiceClientImpl
e passa i seguenti valori:
SpacesStore
. Questo valore è un parametro obbligatorio./Company Home/Form Designs/Loan.xdp
). Questo valore è un parametro obbligatorio.Il metodo retrieveContent
restituisce un oggetto CRCResult
contenente il file XDP. Recupera un'istanza com.adobe.idp.Document
richiamando il metodo CRCResult
dell'oggetto getDocument
.
Eseguire il rendering del modulo PDF non interattivo.
Richiama il metodo generatePDFOutput2
dell'oggetto OutputClient
e passa i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.com.adobe.idp.Document
che rappresenta la struttura del modulo (utilizzare l'istanza restituita dal metodo CRCResult
dell'oggetto getDocument
).PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.Il metodo generatePDFOutput2
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Eseguire un’azione con il flusso di dati del modulo.
com.adobe.idp.Document
che rappresenta il modulo non interattivo richiamando il metodo OutputResult
dell'oggetto getGeneratedDoc
.java.io.File
contenente i risultati dell'operazione. Assicurati che l'estensione del nome file sia .pdf.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getGeneratedDoc
).Consulta anche
Avvio rapido (modalità EJB): Trasmissione di documenti al servizio di output tramite l’API Java
Avvio rapido (modalità SOAP): Trasmissione di documenti al servizio di output tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Passa un documento recuperato da Content Services (obsoleto) utilizzando il servizio di output e l’API Content Services (obsoleto) (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Poiché questa applicazione client richiama due servizi AEM Forms, crea due riferimenti al servizio. Utilizzare la seguente definizione WSDL per il riferimento al servizio associato al servizio Output: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Utilizzare la seguente definizione WSDL per il riferimento al servizio associato al servizio Document Management: http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.
Poiché il tipo di dati BLOB
è comune a entrambi i riferimenti di servizio, qualifica completamente il tipo di dati BLOB
quando lo utilizzi. Nel corrispondente avvio rapido del servizio Web, tutte le istanze BLOB
sono completamente qualificate.
Sostituisci localhost
* con l’indirizzo IP del server che ospita AEM Forms. *
Creare un oggetto Output e un oggetto API client di gestione documenti.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.)
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.Assegna il valore costante BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.
Ripeti questi passaggi per il client di servizio DocumentManagementServiceClient
*. *
Recupera la struttura del modulo da Content Services (obsoleto).
Recupera il contenuto richiamando il metodo retrieveContent
dell’oggetto DocumentManagementServiceClient
e passando i seguenti valori:
SpacesStore
. Questo valore è un parametro obbligatorio./Company Home/Form Designs/Loan.xdp
). Questo valore è un parametro obbligatorio.BLOB
che memorizza il contenuto. Puoi utilizzare questo parametro di output per recuperare il contenuto.ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
che memorizza gli attributi di contenuto.CRCResult
. Invece di utilizzare questo oggetto, è possibile utilizzare il parametro di output BLOB
per recuperare il contenuto.Eseguire il rendering del modulo PDF non interattivo.
Richiama il metodo generatePDFOutput2
dell'oggetto OutputServiceClient
e passa i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.BLOB
che rappresenta la struttura del modulo (utilizzare l'istanza BLOB
restituita da Content Services (obsoleto)).PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.BLOB
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.BLOB
compilato dal metodo generatePDFOutput2
. Il metodo generatePDFOutput2
popola questo oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).OutputResult
contenente i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Il metodo generatePDFOutput2
restituisce un oggetto BLOB
contenente il modulo PDF non interattivo.
Eseguire un’azione con il flusso di dati del modulo.
System.IO.FileStream
richiamando il relativo costruttore. Passare un valore di stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file.BLOB
recuperato dal metodo generatePDFOutput2
. Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.Write
dell’oggetto System.IO.BinaryWriter
e passando l’array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Il servizio Output esegue il rendering di un modulo PDF non interattivo basato su una struttura del modulo generalmente salvata come file XDP e creata in Designer. È possibile passare al servizio Output un oggetto com.adobe.idp.Document
contenente la struttura del modulo. Il servizio Output esegue quindi il rendering della struttura del modulo situata nell'oggetto com.adobe.idp.Document
.
Il vantaggio di passare un oggetto com.adobe.idp.Document
al servizio Output è che altre operazioni del servizio AEM Forms restituiscono un'istanza com.adobe.idp.Document
. In altre parole, puoi ottenere un'istanza com.adobe.idp.Document
da un'altra operazione di servizio ed eseguirne il rendering. Ad esempio, si supponga che un file XDP sia memorizzato nell’archivio AEM Forms, come illustrato di seguito.
La cartella FormsFolder è una posizione definita dall'utente nell'archivio AEM Forms (questa posizione è un esempio e non esiste per impostazione predefinita). In questo esempio, una struttura del modulo denominata Loan.xdp si trova in questa cartella. Oltre alla struttura del modulo, in questa posizione è possibile memorizzare altre informazioni collaterali come le immagini. Il percorso di una risorsa situata nell’archivio AEM Forms è:
Applications/Application-name/Application-version/Folder.../Filename
È possibile recuperare in modo programmatico il file Loan.xdp dall'archivio AEM Forms e passarlo al servizio Output all'interno di un oggetto com.adobe.idp.Document
.
È possibile creare un PDF basato su un file XDP che si trova nel repository utilizzando uno dei due modi disponibili. Puoi passare la posizione XDP tramite riferimento oppure recuperare l'XDP dal repository a livello di programmazione e passarlo al servizio Output all'interno di un file XDP.
Avvio rapido (modalità EJB): La creazione di un documento PDF basato su un file XDP dell’applicazione utilizzando l’API Java (mostra come passare la posizione del file XDP come riferimento).
Avvio rapido (modalità EJB): Passare un documento situato nell’archivio di AEM Forms al servizio di output utilizzando l’API Java (mostra come recuperare programmaticamente il file XDP dall’archivio AEM Forms e passarlo al servizio di output all’interno di un’ com.adobe.idp.Document
istanza). (Questa sezione illustra come eseguire questa attività)
Per ulteriori informazioni sul servizio Forms, consulta Riferimento servizi per AEM Forms.
Per passare un documento ottenuto dall'archivio AEM Forms al servizio Output, 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, includi i file proxy.
Creare un oggetto Output e un oggetto API client di gestione documenti
Prima di eseguire un’operazione API del servizio di output a livello di programmazione, creare un oggetto API client di output. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), crea un oggetto API di gestione dei documenti.
Recuperare la struttura del modulo dall’archivio AEM Forms
Recupera il file XDP dall’archivio AEM Forms utilizzando l’API Repository. (Consultare Lettura delle risorse.)
Il file XDP viene restituito all'interno di un'istanza com.adobe.idp.Document
(o di un'istanza BLOB
se utilizzi servizi web). Puoi quindi passare l'istanza com.adobe.idp.Document
al servizio Output.
Rendering del modulo PDF non interattivo
Per eseguire il rendering di un modulo non interattivo, passa l’istanza com.adobe.idp.Document
restituita utilizzando l’API Repository di AEM Forms.
Due nuovi metodi denominati generatePDFOutput2
e generatePrintedOutput2
accettano un oggetto com.adobe.idp.Document
contenente una struttura del modulo. È inoltre possibile passare un com.adobe.idp.Document
contenente la struttura del modulo al servizio Output quando si invia un flusso di stampa a una stampante di rete.
Eseguire un’azione con il flusso di dati del modulo
È possibile salvare il modulo non interattivo come file PDF. Il modulo può essere visualizzato in Adobe Reader o Acrobat.
Consulta anche
Trasmettere al servizio di output i documenti presenti nell’archivio utilizzando l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
ResourceRepositoryClient
Passa un documento recuperato dall’archivio utilizzando il servizio di output e l’API dell’archivio (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar e adobe-repository-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Output e un oggetto API client di gestione documenti.
ServiceClientFactory
contenente le proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.)OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.DocumentManagementServiceClientImpl
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Recupera la struttura del modulo dall’archivio AEM Forms.
Richiama il metodo readResourceContent
dell'oggetto ResourceRepositoryClient
e passa un valore stringa che specifica la posizione URI nel file XDP. Esempio, /Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. Questo valore è obbligatorio. Questo metodo restituisce un'istanza com.adobe.idp.Document
che rappresenta il file XDP.
Eseguire il rendering del modulo PDF non interattivo.
Richiama il metodo generatePDFOutput2
dell'oggetto OutputClient
e passa i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.repository:///Applications/FormsApplication/1.0/FormsFolder/
.com.adobe.idp.Document
che rappresenta la struttura del modulo (utilizzare l'istanza restituita dal metodo ResourceRepositoryClient
dell'oggetto readResourceContent
).PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.Il metodo generatePDFOutput2
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Eseguire un’azione con il flusso di dati del modulo.
com.adobe.idp.Document
che rappresenta il modulo non interattivo richiamando il metodo OutputResult
dell'oggetto getGeneratedDoc
.java.io.File
contenente i risultati dell'operazione. Assicurati che l'estensione del nome file sia .pdf.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getGeneratedDoc
).Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
È possibile utilizzare i servizi Output e Assembler per creare un flusso di output, ad esempio un documento PDF, basato su frammenti. Il servizio Assembler assembla un documento XDP basato su frammenti che si trovano in più file XDP. Il documento XDP assemblato viene passato al servizio Output, che crea un documento PDF. Anche se questo flusso di lavoro mostra un documento PDF che viene generato, il servizio Output può generare altri tipi di output, come ZPL, per questo flusso di lavoro. Un documento PDF viene utilizzato solo a scopo di discussione.
L’illustrazione seguente mostra questo flusso di lavoro.
Prima di leggere Creazione di documenti PDF utilizzando Frammenti, è consigliabile acquisire familiarità con l'utilizzo del servizio Assembler per assemblare più documenti XDP. (Vedere Assemblaggio di più frammenti XDP.)
È inoltre possibile passare una struttura del modulo assemblata dal servizio Assembler al servizio Forms anziché al servizio Output. La differenza principale tra il servizio Output e il servizio Forms è che il servizio Forms genera documenti PDF interattivi e il servizio Output produce documenti PDF non interattivi. Inoltre, il servizio Forms non può generare flussi di output basati su stampante come ZPL.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per creare un documento PDF basato su frammenti, 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 client Output e Assembler
Prima di eseguire un’operazione API del servizio Output a livello di programmazione, creare un oggetto API client di output. Inoltre, poiché questo flusso di lavoro richiama il servizio Assembler per creare la struttura del modulo, creare un oggetto API client Assembler.
Utilizzare il servizio Assembler per generare la struttura del modulo
Utilizzare il servizio Assembler per generare la struttura del modulo utilizzando i frammenti. Il servizio Assembler restituisce un'istanza com.adobe.idp.Document
che contiene la struttura del modulo.
Utilizzare il servizio Output per generare il documento PDF
È possibile utilizzare il servizio Output per generare un documento PDF utilizzando la struttura del modulo creata dal servizio Assembler. Passa l'istanza com.adobe.idp.Document
restituita dal servizio Assembler al servizio Output.
Salvare il documento PDF come file PDF
Dopo che il servizio Output genera un documento PDF, è possibile salvarlo come file PDF.
Consulta anche
Creare un documento PDF basato su frammenti utilizzando l’API Java
Creare un documento PDF basato su frammenti utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Assemblaggio di più frammenti XDP
Crea un documento PDF basato sui frammenti utilizzando l’API del servizio di output e l’API del servizio Assembler (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto client Output e Assembler.
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.AssemblerServiceClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Utilizzare il servizio Assembler per generare la struttura del modulo.
Richiama il metodo invokeDDX
dell'oggetto AssemblerServiceClient
e passa i seguenti valori obbligatori:
com.adobe.idp.Document
che rappresenta il documento DDX da utilizzare.java.util.Map
che contiene i file XDP di input.com.adobe.livecycle.assembler.client.AssemblerOptionSpec
che specifica le opzioni di esecuzione, incluso il font predefinito e il livello di log del processo.Il metodo invokeDDX
restituisce un oggetto com.adobe.livecycle.assembler.client.AssemblerResult
contenente il documento XDP assemblato. Per recuperare il documento XDP assemblato, eseguire le operazioni seguenti:
getDocuments
dell'oggetto AssemblerResult
. Questo metodo restituisce un oggetto java.util.Map
.java.util.Map
fino a trovare l'oggetto com.adobe.idp.Document
risultante.copyToFile
dell'oggetto com.adobe.idp.Document
per estrarre il documento XDP assemblato.Utilizzare il servizio Output per generare il documento PDF.
Richiama il metodo generatePDFOutput2
dell'oggetto OutputClient
e passa i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
com.adobe.idp.Document
che rappresenta la struttura del modulo (utilizzare l'istanza restituita dal servizio Assembler)PDFOutputOptionsSpec
contenente opzioni di esecuzione PDFRenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzionecom.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del moduloIl metodo generatePDFOutput2
restituisce un oggetto OutputResult
contenente i risultati dell'operazione
Salvare il documento PDF come file PDF.
com.adobe.idp.Document
che rappresenta il documento PDF richiamando il metodo OutputResult
dell'oggetto getGeneratedDoc
.java.io.File
contenente i risultati dell'operazione. Assicurati che l'estensione del nome del file sia .pdf.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare nel file il contenuto dell'oggetto com.adobe.idp.Document
. (Assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getGeneratedDoc
.)Consulta anche
Avvio rapido (modalità EJB): Creazione di un documento PDF basato su frammenti tramite l’API Java
Avvio rapido (modalità SOAP): Creazione di un documento PDF basato su frammenti tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione.
Crea un documento PDF basato sui frammenti utilizzando l’API del servizio di output e l’API del servizio Assembler (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Utilizzare la seguente definizione WSDL per il riferimento al servizio associato al servizio Output:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.
Utilizzare la seguente definizione WSDL per il riferimento al servizio associato al servizio Assembler:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.
Poiché il tipo di dati BLOB
è comune a entrambi i riferimenti di servizio, qualifica completamente il tipo di dati BLOB
quando lo utilizzi. Nel corrispondente avvio rapido del servizio Web, tutte le istanze BLOB
sono completamente qualificate.
Sostituisci localhost
* con l’indirizzo IP del server che ospita AEM Forms. *
Creare un oggetto client Output e Assembler.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.Assegna il valore costante BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.
Ripetere questi passaggi per l'oggetto AssemblerServiceClient
*. *
Utilizzare il servizio Assembler per generare la struttura del modulo.
Richiama il metodo invokeDDX
dell'oggetto AssemblerServiceClient
e passa i seguenti valori:
BLOB
che rappresenta il documento DDXMyMapOf_xsd_string_To_xsd_anyType
che contiene i file richiestiAssemblerOptionSpec
che specifica le opzioni di esecuzioneIl metodo invokeDDX
restituisce un oggetto AssemblerResult
contenente i risultati del processo ed eventuali eccezioni. Per ottenere il documento XDP appena creato, esegui le seguenti operazioni:
documents
dell'oggetto AssemblerResult
, che è un oggetto Map
che contiene i documenti PDF risultanti.Map
per recuperare la struttura del modulo assemblato. Trasmettere l'elemento value
del membro della matrice in un elemento BLOB
. Passa questa istanza BLOB
al servizio Output.Utilizzare il servizio Output per generare il documento PDF.
Richiama il metodo generatePDFOutput2
dell'oggetto OutputServiceClient
e passa i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.BLOB
che rappresenta la struttura del modulo (utilizzare l'istanza BLOB
restituita dal servizio Assembler).PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.BLOB
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.BLOB
compilato dal metodo generatePDFOutput2
. Il metodo generatePDFOutput2
popola questo oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).OutputResult
contenente i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Il metodo generatePDFOutput2
restituisce un oggetto BLOB
contenente il modulo PDF non interattivo.
Salvare il documento PDF come file PDF.
System.IO.FileStream
richiamando il relativo costruttore. Passare un valore di stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file.BLOB
recuperato dal metodo generatePDFOutput2
. Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.Write
dell’oggetto System.IO.BinaryWriter
e passando l’array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
È possibile utilizzare il servizio Output per stampare su un file flussi quali PostScript, PCL (Printer Control Language) o i seguenti formati di etichetta:
Utilizzando il servizio Output, è possibile unire i dati XML con una struttura del modulo e stampare il modulo in un file. L'illustrazione seguente mostra il servizio Output che crea file laser ed etichette.
Per informazioni sull'invio di flussi di stampa alle stampanti, vedere Invio di flussi di stampa alle stampanti.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per stampare su un file, 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.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
se AEM Forms è distribuito su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms. (Consulta Inclusione dei file della libreria Java di AEM Forms.)
Creare un oggetto Client di output
Prima di poter eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzi l’API Java, crea un oggetto OutputClient
. Se utilizzi l’API del servizio Web Output, crea un oggetto OutputServiceService
.
Riferimento a un’origine dati XML
Per stampare un documento contenente dati, è necessario fare riferimento a un'origine dati XML contenente elementi XML per ogni campo del modulo che si desidera compilare con i dati. Il nome dell'elemento XML deve corrispondere al nome del campo. Un elemento XML viene ignorato se non corrisponde a un campo modulo o se il nome dell’elemento XML non corrisponde al nome del campo. Se vengono specificati tutti gli elementi XML, non è necessario stabilire una corrispondenza con l’ordine in cui vengono visualizzati gli elementi XML.
Impostare le opzioni di esecuzione della stampa necessarie per stampare su un file
Per stampare su un file, è necessario impostare l'opzione File URI di esecuzione specificando la posizione e il nome del file su cui viene stampato il servizio Output. Ad esempio, per indicare al servizio Output di stampare un file PostScript denominato MortagelForm.ps in C:\Adobe, specificare C:\Adobe\MortgageForm.ps.
È possibile definire opzioni di runtime facoltative. Per informazioni su tutte le opzioni che è possibile impostare, consulta il riferimento alla classe PrintedOutputOptionsSpec
in Riferimento API di AEM Forms.
Stampa il flusso di stampa su un file
Dopo aver fatto riferimento a un'origine dati XML valida contenente i dati del modulo e aver impostato le opzioni di esecuzione della stampa, è possibile richiamare il servizio Output, che lo causa nella stampa di un file.
Recupera i risultati dell'operazione
Dopo l'esecuzione di un'operazione, il servizio Output restituisce vari elementi di dati, ad esempio dati XML, che specificano se l'operazione ha avuto esito positivo.
Consulta anche
Stampa su file utilizzando l’API Java
Stampa su file tramite l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Stampa su un file utilizzando l’API di output (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Client di output.
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Fare riferimento a un'origine dati XML.
java.io.FileInputStream
che rappresenta l'origine dati XML utilizzata per compilare il documento utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Impostare le opzioni di esecuzione della stampa necessarie per stampare su un file.
PrintedOutputOptionsSpec
utilizzando il relativo costruttore.setFileURI
dell'oggetto PraintOutputOptionsSpec e passando un valore di stringa che rappresenta il nome e la posizione del file. Ad esempio, se si desidera che il servizio Output venga stampato su un file PostScript denominato* MortagelForm.ps* situato in C:\Adobe, specificare C:\Adobe\MortgageForm.ps.setCopies
dell'oggetto PrintedOutputOptionsSpec
e passando un valore intero che rappresenta il numero di copie.Stampa il flusso di stampa su un file.
Stampa su un file richiamando il metodo generatePrintedOutput
dell'oggetto OutputClient
e passando i seguenti valori:
PrintFormat
che specifica il formato del flusso di stampa da creare. Ad esempio, per creare un flusso di stampa PostScript, passare PrintFormat.PostScript
.null
se si specifica il file XDC da utilizzare utilizzando l'oggetto PrintedOutputOptionsSpec
).PrintedOutputOptionsSpec
che contiene le opzioni di esecuzione necessarie per la stampa su un file.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati del modulo.Il metodo generatePrintedOutput
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Il metodo OutputResult
dell'oggetto getRecordLevelMetaDataList
restituisce null
*. *
Recupera i risultati dell’operazione.
com.adobe.idp.Document
che rappresenti lo stato del metodo generatePrintedOutput
richiamando il metodo OutputResult
dell'oggetto getStatusDoc
(l'oggetto OutputResult
è stato restituito dal metodo generatePrintedOutput
).java.io.File
che conterrà i risultati dell'operazione. Assicurati che l'estensione del file sia XML.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getStatusDoc
).Consulta anche
Avvio rapido (modalità SOAP): Stampa su un file tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione.
Stampa su un file utilizzando l’API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
* con l’indirizzo IP del server che ospita AEM Forms. *
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Fare riferimento a un'origine dati XML.
BLOB
utilizzando il relativo costruttore. L’oggetto BLOB
viene utilizzato per memorizzare i dati del modulo.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML contenente i dati del modulo.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando la relativa proprietà binaryData
con il contenuto dell'array di byte.Impostare le opzioni di esecuzione della stampa necessarie per stampare su un file.
PrintedOutputOptionsSpec
utilizzando il relativo costruttore.PrintedOutputOptionsSpec
fileURI
. Ad esempio, se si desidera che il servizio Output venga stampato in un file PostScript denominato MortagelForm.ps che si trova in C:\Adobe, specificare C:\Adobe\MortgageForm.ps.PrintedOutputOptionsSpec
copies
.Stampa il flusso di stampa su un file.
Stampa su un file richiamando il metodo generatePrintedOutput
dell'oggetto OutputServiceService
e passando i seguenti valori:
PrintFormat
che specifica il formato del flusso di stampa da creare. Ad esempio, per creare un flusso di stampa PostScript, passare PrintFormat.PostScript
.null
se si specifica il file XDC da utilizzare utilizzando l'oggetto PrintedOutputOptionsSpec
).PrintedOutputOptionsSpec
che contiene le opzioni di esecuzione della stampa necessarie per stampare su un file.BLOB
che contiene l'origine dati XML contenente i dati del modulo.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i metadati generati che descrivono il documento. Questo valore di parametro è necessario solo per la chiamata al servizio Web.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i dati dei risultati. Questo valore di parametro è necessario solo per la chiamata al servizio Web.OutputResult
contenente i risultati dell'operazione. Questo valore di parametro è necessario solo per la chiamata al servizio Web.Recupera i risultati dell’operazione.
System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Assicurati che l'estensione del file sia XML.BLOB
popolato con i dati dei risultati dal metodo OutputServiceService
dell'oggetto generatePDFOutput
(l'ottavo parametro). Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell'oggetto Write
e passando l'array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
È possibile utilizzare il servizio Output per inviare flussi di stampa quali PostScript, PCL (Printer Control Language) o i seguenti formati di etichetta alle stampanti di rete:
Utilizzando il servizio Output, è possibile unire i dati XML con una struttura del modulo e generare il modulo come flusso di stampa. Ad esempio, è possibile creare un flusso di stampa PostScript e inviarlo a una stampante di rete. Nell'illustrazione seguente viene illustrato l'invio di flussi di stampa da parte del servizio Output a stampanti di rete.
Per dimostrare come inviare un flusso di stampa a una stampante di rete, questa sezione invia un flusso di stampa PostScript a una stampante di rete utilizzando il protocollo della stampante SharedPrinter.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per inviare un flusso di stampa a una stampante di rete, 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.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
se AEM Forms è distribuito su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms.
Creare un oggetto Client di output
Prima di eseguire un'operazione del servizio Output a livello di programmazione, creare un oggetto client del servizio Output. Se utilizzi l’API Java, crea un oggetto OutputClient
. Se utilizzi l’API del servizio Web Output, crea un oggetto OutputServiceClient
.
Riferimento a un’origine dati XML
Per stampare un documento contenente dati, è necessario fare riferimento a un'origine dati XML contenente elementi XML per ogni campo del modulo che si desidera compilare con i dati. Il nome dell'elemento XML deve corrispondere al nome del campo. Un elemento XML viene ignorato se non corrisponde a un campo modulo o se il nome dell’elemento XML non corrisponde al nome del campo. Se vengono specificati tutti gli elementi XML, non è necessario stabilire una corrispondenza con l’ordine in cui vengono visualizzati gli elementi XML.
Impostare le opzioni di esecuzione della stampa
È possibile impostare le opzioni di esecuzione durante l'invio di un flusso di stampa a una stampante, incluse le seguenti opzioni:
Per informazioni su tutte le opzioni di runtime che è possibile impostare, vedere il riferimento alla classe PrintedOutputOptionsSpec
.
Recupera un documento da stampare
Recupera un flusso di stampa da inviare a una stampante. Ad esempio, è possibile recuperare un file PostScript e inviarlo a una stampante.
È possibile scegliere di inviare un file PDF se la stampante supporta PDF. Tuttavia, un problema con l'invio di un documento PDF a una stampante è che ogni produttore della stampante ha una diversa implementazione dell'interprete PDF. Alcuni produttori di stampa utilizzano l'interpretazione Adobe PDF, ma dipende dalla stampante. Altre stampanti hanno un proprio interprete PDF. Di conseguenza, i risultati della stampa possono variare.
Un'altra limitazione all'invio di un documento PDF a una stampante è la stampa; non può accedere a duplex, selezione del vassoio della carta e cucitura, ad eccezione delle impostazioni sulla stampante.
Per recuperare un documento da stampare, utilizzare il metodo generatePrintedOutput
. La tabella seguente specifica i tipi di contenuto impostati per un dato flusso di stampa quando si utilizza il metodo generatePrintedOutput
.
Formato di stampa |
Descrizione |
---|---|
DPL |
Crea un flusso di output xdc dpl203.xdc predefinito o personalizzato. |
DPL 300 DPI |
Crea un flusso di output DPL 300 DPI. |
DPL 406 DPI |
Crea un flusso di uscita DPL 400 DPI. |
DPL 600 DPI |
Crea un flusso di output DPL 600 DPI. |
GenericColorPCL |
Crea un flusso di output generico di colore PCL (5c). |
GenericPSLevel3 |
Crea un flusso di output generico PostScript di livello 3. |
IPL |
Crea un flusso di output IPL personalizzato. |
IPL 300 DPI |
Crea un flusso di uscita IPL 300 DPI. |
IPL 400 DPI |
Crea un flusso di uscita IPL 400 DPI. |
PCL |
Crea un flusso di output generico PCL monocromatico (5e). |
PostScript |
Crea un flusso di output generico di livello 2 di PostScript. |
TPCL |
Crea un flusso di output TPCL personalizzato. |
TPCL 305 DPI |
Crea un flusso di output TPCL 305 DPI. |
TPCL 600 DPI |
Crea un flusso di output TPCL 600 DPI. |
ZPL |
Crea un flusso di output ZPL 203 DPI. |
ZPL 300 DPI |
Crea un flusso di output ZPL 300 DPI. |
È inoltre possibile inviare un flusso di stampa a una stampante utilizzando il metodo generatePrintedOutput2
. Tuttavia, gli avvii rapidi associati alla sezione Invio di flussi di stampa a stampanti utilizzano il metodo generatePrintedOutput
.
Inviare il flusso di stampa a una stampante di rete
Dopo aver recuperato un documento da stampare, è possibile richiamare il servizio Output, che lo fa inviare un flusso di stampa a una stampante di rete. Affinché il servizio Output possa individuare correttamente la stampante, è necessario specificare sia il server di stampa che il nome della stampante. Inoltre, è necessario specificare anche il protocollo di stampa.
Se sul server dei moduli è installato PDFG e il server viene eseguito su Windows Server 2008, non è possibile utilizzare la proprietà SharedPrinter. In questa situazione, utilizzare un protocollo di stampa diverso.
Se si utilizza una stampante di rete e il meccanismo di accesso è SharedPrinter, è necessario specificare il percorso di rete completo della stampante.Inviare un flusso di stampa a una stampante di rete utilizzando l'API Java
Inviare un flusso di stampa a una stampante di rete utilizzando l'API di output (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Client di output
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Riferimento a un’origine dati XML
java.io.FileInputStream
che rappresenta l'origine dati XML utilizzata per compilare il documento utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Impostare le opzioni di esecuzione della stampa
Creare un oggetto PrintedOutputOptionsSpec
che rappresenta le opzioni di esecuzione della stampa. Ad esempio, è possibile specificare il numero di copie da stampare richiamando il metodo setCopies
dell'oggetto PrintedOutputOptionsSpec
.
Non è possibile impostare il valore di impaginazione utilizzando il metodo setPagination
dell'oggetto PrintedOutputOptionsSpec
se si sta generando un flusso di stampa ZPL. Allo stesso modo, non è possibile impostare le seguenti opzioni per un flusso di stampa ZPL: OutputJog, PageOffset e Staple. Il metodo setPagination
* non è valido per la generazione PostScript. È valido solo per la generazione PCL. *
Recupera un documento da stampare
Recupera un documento da stampare richiamando il metodo generatePrintedOutput
dell'oggetto OutputClient
e passando i seguenti valori:
PrintFormat
che specifica il flusso di stampa. Ad esempio, per creare un flusso di stampa PostScript, passare PrintFormat.PostScript
.PrintedOutputOptionsSpec
che contiene le opzioni di esecuzione necessarie per la stampa in un file.com.adobe.idp.Document
che rappresenta l'origine dati XML contenente i dati del modulo da unire alla struttura del modulo.Questo metodo restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Creare un oggetto com.adobe.idp.Document
da inviare alla stampante richiamando il metodo OutputResult
object 's getGeneratedDoc
. Questo metodo restituisce un oggetto com.adobe.idp.Document
.
Inviare il flusso di stampa a una stampante di rete
Inviare il flusso di stampa a una stampante di rete richiamando il metodo sendToPrinter
dell'oggetto OutputClient
e passando i seguenti valori:
com.adobe.idp.Document
che rappresenta il flusso di stampa da inviare alla stampante.PrinterProtocol
che specifica il protocollo della stampante da utilizzare. Ad esempio, per specificare il protocollo SharedPrinter, passare PrinterProtocol.SharedPrinter
.\\\PrintSever1
.\\\PrintSever1\Printer1
.Il metodo sendToPrinter
è stato aggiunto all’API AEM Forms nella versione 8.2.1.
Inviare un flusso di stampa a una stampante di rete utilizzando l'API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
* con l’indirizzo IP del server che ospita AEM Forms. *
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Fare riferimento a un'origine dati XML.
BLOB
utilizzando il relativo costruttore. L’oggetto BLOB
viene utilizzato per memorizzare i dati del modulo.System.IO.FileStream
richiamando il relativo costruttore. Passare un valore di stringa che specifica la posizione del file XML contenente i dati del modulo.System.IO.FileStream
. Determina la lunghezza della matrice dei byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando il relativo campo MTOM
con il contenuto dell'array di byte.Impostare le opzioni di esecuzione della stampa.
Creare un oggetto PrintedOutputOptionsSpec
utilizzando il relativo costruttore. Ad esempio, è possibile specificare il numero di copie da stampare assegnando un valore intero che rappresenta il numero di copie per il membro dati PrintedOutputOptionsSpec
dell'oggetto copies
.
Non è possibile impostare il valore di impaginazione utilizzando il membro dati pagination
dell'oggetto PrintedOutputOptionsSpec
se si sta generando un flusso di stampa ZPL. Allo stesso modo, non è possibile impostare le seguenti opzioni per un flusso di stampa ZPL: OutputJog, PageOffset e Staple. Il membro dati pagination
* non è valido per la generazione PostScript. È valido solo per la generazione PCL. *
Recupera un documento da stampare.
Recupera un documento da stampare richiamando il metodo generatePrintedOutput
dell'oggetto OutputServiceService
e passando i seguenti valori:
PrintFormat
che specifica il flusso di stampa. Ad esempio, per creare un flusso di stampa PostScript, passare PrintFormat.PostScript
.PrintedOutputOptionsSpec
contenente le opzioni di esecuzione della stampa utilizzate per l'invio di un flusso di stampa a una stampante di rete.BLOB
che contiene l'origine dati XML contenente i dati del modulo.BLOB
compilato dal metodo generatePrintedOutput
. Il metodo generatePrintedOutput
popola questo oggetto con i metadati generati che descrivono il documento. Questo valore di parametro è necessario solo per la chiamata al servizio Web.BLOB
compilato dal metodo generatePrintedOutput
. Il metodo generatePrintedOutput
popola questo oggetto con i dati dei risultati. Questo valore di parametro è necessario solo per la chiamata al servizio Web.OutputResult
contenente i risultati dell'operazione. Questo valore di parametro è necessario solo per la chiamata al servizio Web.Creare un oggetto BLOB
da inviare alla stampante ottenendo il valore del metodo OutputResult
object ‘s generatedDoc
. Questo metodo restituisce un oggetto BLOB
contenente i dati PostScript restituiti dal metodo generatePrintedOutput
.
Inviare il flusso di stampa a una stampante di rete.
Inviare il flusso di stampa a una stampante di rete richiamando il metodo sendToPrinter
dell'oggetto OutputClient
e passando i seguenti valori:
BLOB
che rappresenta il flusso di stampa da inviare alla stampante.PrinterProtocol
che specifica il protocollo della stampante da utilizzare. Ad esempio, per specificare il protocollo SharedPrinter, passare PrinterProtocol.SharedPrinter
.bool
che specifica se utilizzare il valore del parametro precedente. Passa il valore true
. Questo valore di parametro è necessario solo per la chiamata al servizio Web.\\\PrintSever1
.\\\PrintSever1\Printer1
.Il metodo sendToPrinter
è stato aggiunto all’API AEM Forms nella versione 8.2.1.
Il servizio Output può creare documenti separati per ogni record all'interno di un'origine dati XML o di un singolo file contenente tutti i record (questa funzionalità è l'impostazione predefinita). Ad esempio, si supponga che dieci record si trovino all'interno di un'origine dati XML e si incarica il servizio Output di creare documenti PDF separati (o altri tipi di output) per ciascun record utilizzando l'API del servizio di output. Di conseguenza, il servizio Output genera dieci documenti PDF. Invece di creare documenti, è possibile inviare più flussi di stampa a una stampante.
L'illustrazione seguente mostra anche il servizio Output che elabora un file di dati XML contenente più record. Tuttavia, si supponga di istruire il servizio Output per creare un singolo documento PDF contenente tutti i record di dati. In questa situazione, il servizio Output genera un documento contenente tutti i record.
Nell'illustrazione seguente viene illustrato il servizio Output che elabora un file di dati XML contenente più record. Si supponga di istruire il servizio Output per creare un documento PDF separato per ogni record di dati. In questa situazione, il servizio Output genera un documento PDF separato per ogni record di dati.
I seguenti dati XML mostrano un esempio di file di dati che contiene tre record di dati.
<?xml version="1.0" encoding="UTF-8"?>
<batch>
<LoanRecord>
<mortgageAmount>500000</mortgageAmount>
<lastName>Blue</lastName>
<firstName>Tony</firstName>
<SSN>555666777</SSN>
<PositionTitle>Product Manager</PositionTitle>
<Address>555 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>TBlue@NoMailServer.com</Email>
<PhoneNum>555-7418</PhoneNum>
<FaxNum>555-9981</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>300000</mortgageAmount>
<lastName>White</lastName>
<firstName>Sam</firstName>
<SSN>555666222</SSN>
<PositionTitle>Program Manager</PositionTitle>
<Address>557 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SWhite@NoMailServer.com</Email>
<PhoneNum>555-7445</PhoneNum>
<FaxNum>555-9986</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>700000</mortgageAmount>
<lastName>Green</lastName>
<firstName>Steve</firstName>
<SSN>55566688</SSN>
<PositionTitle>Project Manager</PositionTitle>
<Address>445 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SGreeb@NoMailServer.com</Email>
<PhoneNum>555-2211</PhoneNum>
<FaxNum>555-2221</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
</batch>
L’elemento XML che avvia e termina ogni record di dati è LoanRecord
. A questo elemento XML viene fatto riferimento dalla logica dell'applicazione che genera più file.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per creare più file PDF basati su un’origine dati XML, 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.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
se AEM Forms è distribuito su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms.
Creare un oggetto Client di output
Prima di poter eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzi l’API Java, crea un oggetto OutputClient
. Se utilizzi l’API del servizio Web Output, crea un oggetto OutputServiceService
.
Riferimento a un’origine dati XML
Fare riferimento a un'origine dati XML contenente più record. Per separare i record di dati è necessario utilizzare un elemento XML. Ad esempio, nell’origine dati XML di esempio mostrata in precedenza in questa sezione, l’elemento XML che separa i record di dati è denominato LoanRecord
.
Per ogni campo del modulo che si desidera compilare con i dati deve esistere un elemento XML. Il nome dell'elemento XML deve corrispondere al nome del campo. Un elemento XML viene ignorato se non corrisponde a un campo modulo o se il nome dell’elemento XML non corrisponde al nome del campo. Se vengono specificati tutti gli elementi XML, non è necessario stabilire una corrispondenza con l’ordine in cui vengono visualizzati gli elementi XML.
Impostare le opzioni di esecuzione PDF
Per creare correttamente più file in base a un'origine dati XML, è necessario impostare le seguenti opzioni di esecuzione per il servizio Output:
LoanRecord
. Anziché impostare l’opzione di esecuzione Nome record, è possibile impostare il livello di record assegnandogli un valore numerico che indica il livello di elemento contenente i record di dati. Tuttavia, è possibile impostare solo il Nome record o il Livello record. Non è possibile impostare entrambi i valori.)Impostare le opzioni di esecuzione del rendering
È possibile impostare le opzioni di esecuzione del rendering durante la creazione di più file. Sebbene queste opzioni non siano necessarie (a differenza delle opzioni di esecuzione dell'output, che sono necessarie), è possibile eseguire attività quali il miglioramento delle prestazioni del servizio Output. Ad esempio, è possibile memorizzare nella cache la struttura del modulo utilizzata dal servizio Output per migliorare le prestazioni.
Quando il servizio Output elabora i record batch, legge i dati che contengono più record in modo incrementale. In altre parole, il servizio Output legge i dati in memoria e rilascia i dati durante l'elaborazione del batch di record. Il servizio Output carica i dati in modo incrementale quando è impostata una delle due opzioni di runtime. Se si imposta l'opzione di esecuzione Nome record, il servizio Output legge i dati in modo incrementale. Allo stesso modo, se si imposta l'opzione di esecuzione a livello di record su 2 o superiore, il servizio di output legge i dati in modo incrementale.
È possibile controllare se il servizio Output esegue il caricamento incrementale utilizzando il metodo PDFOutputOptionsSpec
o PrintedOutputOptionSpec
dell'oggetto setLazyLoading
. È possibile passare il valore false
a questo metodo che disattiva il caricamento incrementale.
Generare più file PDF
Dopo aver fatto riferimento a un'origine dati XML valida contenente più record di dati e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output, che ne determina la generazione di più file. Quando si generano più record, il metodo getGeneratedDoc
dell'oggetto OutputResult
restituisce null
.
Recupera i risultati dell'operazione
Dopo aver eseguito un'operazione, il servizio Output restituisce dati XML che specificano se l'operazione è riuscita. Il seguente XML viene restituito dal servizio Output. In questa situazione, il servizio di output ha generato 42 documenti.
<?xml version="1.0" encoding="UTF-8"?>
<printResult>
<status>0</status>
<requestId>4ad85f9e2</requestId>
<context/>
<messages>
<message>Printed all 42 records successfully.</message>
</messages>
<printSpec>
<input>
<validated>true</validated>
<dataFile recordIdField="" recordLevel="0" recordName="LoanRecord"/>
<sniffRules lookAhead="300"/>
<formDesign>Loan.xdp</formDesign>
<contentRoot>C:\Adobe</contentRoot>
<metadata-spec record="false"/>
</input>
<output>
<format>PDF</format>
<fileURI>C:\Adobe\forms\Loan.pdf</fileURI>
<optionString>cacheenabled=true&padebug=false&linearpdf=false&pdfarevisionnumber=1&pdfaconformance=A&taggedpdf=false&TransactionTimeOut=180</optionString>
<waitForResponse>true</waitForResponse>
<outputStream>multiple</outputStream>
</output>
</printSpec>
</printResult>
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Creare più file PDF utilizzando l’API di output (Java):
Includi file di progetto"
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java. .
Creare un oggetto Client di output
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Riferimento a un’origine dati XML
java.io.FileInputStream
che rappresenta l'origine dati XML contenente più record utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Impostare le opzioni di esecuzione PDF
PDFOutputOptionsSpec
utilizzando il relativo costruttore.setGenerateManyFiles
dell’oggetto PDFOutputOptionsSpec
. Ad esempio, passare il valore true
per indicare al servizio Output di creare un file PDF separato per ogni record nell'origine dati XML. Se si passa false
, il servizio Output genera un singolo documento PDF contenente tutti i record.setFileUri
dell'oggetto PDFOutputOptionsSpec
e passando un valore di stringa che specifica la posizione dei file generati dal servizio Output. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.setRecordName
dell'oggetto OutputOptionsSpec
e passando un valore stringa che specifica il nome dell'elemento XML nell'origine dati che separa i record di dati. Ad esempio, considerare l'origine dati XML mostrata in precedenza in questa sezione. Il nome dell'elemento XML che separa i record di dati è LoanRecord).Impostare le opzioni di esecuzione del rendering
RenderOptionsSpec
utilizzando il relativo costruttore.setCacheEnabled
dell’oggetto Boolean
e passando un valore RenderOptionsSpec
di true
.Generare più file PDF
Genera più file PDF richiamando il metodo generatePDFOutput
dell’oggetto OutputClient
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.Il metodo generatePDFOutput
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Recupera i risultati dell'operazione
java.io.File
che rappresenta un file XML che conterrà i risultati del metodo generatePDFOutput
. Assicurati che l'estensione del nome file sia .xml.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo applyUsageRights
).Consulta anche
Avvio rapido (modalità EJB): Creazione di più file PDF tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Creare più file PDF utilizzando l'API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Fare riferimento a un'origine dati XML.
BLOB
utilizzando il relativo costruttore. L'oggetto BLOB
viene utilizzato per memorizzare i dati del modulo che contengono più record.System.IO.FileStream
richiamando il relativo costruttore. Passare un valore di stringa che rappresenta la posizione del file XML contenente più record.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando il relativo campo MTOM
con il contenuto dell'array di byte.Impostare le opzioni di esecuzione PDF.
PDFOutputOptionsSpec
utilizzando il relativo costruttore.OutputOptionsSpec
dell'oggetto generateManyFiles
. Ad esempio, assegnare il valore true
a questo membro dati per istruire il servizio Output a creare un file PDF separato per ogni record nell'origine dati XML. Se si assegna false
a questo membro dati, il servizio Output genera un singolo PDF contenente tutti i record.OutputOptionsSpec
dell'oggetto fileURI
. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.OutputOptionsSpec
dell'oggetto recordName
.OutputOptionsSpec
dell'oggetto copies
.Imposta le opzioni di esecuzione del rendering.
RenderOptionsSpec
utilizzando il relativo costruttore.true
al membro dati RenderOptionsSpec
dell’oggetto cacheEnabled
.Generare più file PDF.
Creare più file PDF richiamando il metodo generatePDFOutput
dell'oggetto OutputServiceService
e passando i seguenti valori:
TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.BLOB
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i metadati generati che descrivono il documento.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i dati dei risultati.OutputResult
contenente i risultati dell'operazione.Recupera i risultati dell'operazione
System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Assicurati che l'estensione del nome file sia .xml.BLOB
popolato con i dati dei risultati dal metodo OutputServiceService
dell'oggetto generatePDFOutput
(l'ottavo parametro). Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto binaryData
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell'oggetto Write
e passando l'array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
È possibile creare regole di ricerca che consentono al servizio Output di esaminare i dati di input e utilizzare strutture del modulo diverse in base al contenuto dei dati per generare l’output. Ad esempio, se il testo mutuo si trova all'interno dei dati di input, il servizio Output può utilizzare una struttura del modulo denominata Mortagel.xdp. Allo stesso modo, se il testo automobile si trova nei dati di input, il servizio Output può utilizzare una struttura del modulo salvata come AutomobileLoan.xdp. Sebbene il servizio Output possa generare diversi tipi di output, questa sezione presuppone che il servizio Output generi un file PDF. Il diagramma seguente mostra il servizio Output che genera un file PDF elaborando un file di dati XML e utilizzando una delle numerose strutture del modulo.
Inoltre, il servizio Output è in grado di generare pacchetti di documenti, in cui vengono forniti più record nel set di dati e ogni record viene associato a una struttura del modulo e viene generato un singolo documento composto da più strutture del modulo.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per indicare al servizio di output di utilizzare le regole di ricerca durante la generazione di un documento, 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.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
se AEM Forms è implementato su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms.
Creare un oggetto Client di output
Prima di poter eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output.
Riferimento a un’origine dati XML
Per ogni campo del modulo che si desidera compilare con i dati deve esistere un elemento XML. Il nome dell'elemento XML deve corrispondere al nome del campo. Un elemento XML viene ignorato se non corrisponde a un campo modulo o se il nome dell’elemento XML non corrisponde al nome del campo. Non è necessario stabilire una corrispondenza con l'ordine di visualizzazione degli elementi XML, purché siano specificati tutti gli elementi XML.
Definire le regole di ricerca
Per definire le regole di ricerca, è necessario definire uno o più pattern di testo ricercati dai servizi di output nei dati di input. Per ogni pattern di testo definito, specificare una struttura del modulo corrispondente da utilizzare se il pattern di testo è posizionato. Se si trova un pattern di testo, il servizio Output utilizza la struttura del modulo corrispondente per generare l’output. Un esempio di pattern di testo è mutuo.
Se i pattern di testo non si trovano, viene utilizzato il modulo predefinito. Assicurarsi che tutte le strutture del modulo utilizzate si trovino nella directory principale del contenuto.
Impostare le opzioni di esecuzione PDF
Impostare le seguenti opzioni di esecuzione PDF affinché il servizio Output possa creare correttamente un documento PDF basato su più strutture del modulo:
Impostare le opzioni di esecuzione del rendering
È possibile impostare le opzioni di esecuzione del rendering durante la creazione di file PDF. Sebbene queste opzioni non siano necessarie (a differenza delle opzioni di esecuzione in PDF), è possibile eseguire attività quali il miglioramento delle prestazioni del servizio Output. Ad esempio, è possibile memorizzare nella cache la struttura del modulo utilizzata dal servizio Output per migliorare le prestazioni.
Genera un documento PDF
Dopo aver fatto riferimento a un'origine dati XML valida e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output generando un documento PDF. Se il servizio Output individua un pattern di testo specificato nei dati di input, utilizza la struttura del modulo corrispondente. Se non si utilizza un pattern di testo, il servizio Output utilizza la struttura del modulo predefinita.
Recupera i risultati dell'operazione
Dopo aver eseguito un'operazione, il servizio Output restituisce dati XML che specificano se l'operazione è riuscita.
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Creare regole di ricerca utilizzando l’API di output (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Client di output.
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Fare riferimento a un'origine dati XML.
java.io.FileInputStream
che rappresenta l'origine dati XML utilizzata per compilare il documento PDF utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Definisci le regole di ricerca.
Rule
utilizzando il relativo costruttore.setPattern
dell’oggetto Rule
e passando un valore di stringa che specifica un pattern di testo.setForm
dell’oggetto Rule
. Passa un valore stringa che specifica il nome della struttura del modulo.Per ogni pattern di testo da definire, ripetere i tre passaggi secondari precedenti.
java.util.List
utilizzando un costruttore java.util.ArrayList
.Rule
creato, richiamare il metodo java.util.List
dell'oggetto add
e passare l'oggetto Rule
.Impostare le opzioni di esecuzione PDF.
PDFOutputOptionsSpec
utilizzando il relativo costruttore.setFileURI
dell'oggetto PDFOutputOptionsSpec
. Passa un valore stringa che specifica la posizione del file PDF. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.setRules
dell'oggetto PDFOutputOptionsSpec
. Passa l'oggetto java.util.List
che contiene gli oggetti Rule
.setLookAhead
dell'oggetto PDFOutputOptionsSpec
. Passa un valore intero che rappresenta i numeri di byte.Imposta le opzioni di esecuzione del rendering.
RenderOptionsSpec
utilizzando il relativo costruttore.setCacheEnabled
dell’oggetto RenderOptionsSpec
e passando true
.Genera un documento PDF.
Generare un documento PDF basato su più strutture del modulo richiamando il metodo generatePDFOutput
dell’oggetto OutputClient
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene i dati del modulo ricercati dal servizio Output per individuare i pattern di testo definiti.Il metodo generatePDFOutput
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.
Recupera i risultati dell’operazione.
com.adobe.idp.Document
che rappresenti lo stato del metodo generatePDFOutput
richiamando il metodo OutputResult
dell'oggetto getStatusDoc
.java.io.File
che conterrà i risultati dell'operazione. Assicurati che l'estensione del file sia .xml.copyToFile
dell'oggetto com.adobe.idp.Document
per copiare il contenuto dell'oggetto com.adobe.idp.Document
nel file (assicurarsi di utilizzare l'oggetto com.adobe.idp.Document
restituito dal metodo getStatusDoc
).Consulta anche
Avvio rapido (modalità EJB): Creazione di regole di ricerca tramite l’API Java
Avvio rapido (modalità SOAP): Creazione di regole di ricerca tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Crea le regole di ricerca utilizzando l’API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Fare riferimento a un'origine dati XML.
BLOB
utilizzando il relativo costruttore. L’oggetto BLOB
viene utilizzato per memorizzare i dati che verranno uniti al documento PDF.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF da cifrare e la modalità di apertura del file.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando il relativo campo MTOM
con il contenuto dell'array di byte.Definisci le regole di ricerca.
Rule
utilizzando il relativo costruttore.Rule
dell’oggetto pattern
.form
dell’oggetto Rule
.Per ogni pattern di testo da definire, ripetere i tre passaggi secondari precedenti.
MyArrayOf_xsd_anyType
in cui vengono memorizzate le regole.Rule
a un elemento dell'array MyArrayOf_xsd_anyType
. Richiama il metodo Add
dell'oggetto MyArrayOf_xsd_anyType
per ciascun oggetto Rule
.Impostare le opzioni di esecuzione PDF
PDFOutputOptionsSpec
utilizzando il relativo costruttore.PDFOutputOptionsSpec
dell'oggetto fileURI
. L’opzione URI file è relativa al server applicazioni J2EE che ospita AEM Forms, non al computer client.PDFOutputOptionsSpec
dell'oggetto copies
.MyArrayOf_xsd_anyType
che memorizza le regole al membro dati PDFOutputOptionsSpec
dell'oggetto rules
.PDFOutputOptionsSpec
dell'oggetto lookAhead
.Impostare le opzioni di esecuzione del rendering
RenderOptionsSpec
utilizzando il relativo costruttore.true
al membro dati RenderOptionsSpec
dell’oggetto cacheEnabled
.Non è possibile impostare la versione del documento PDF utilizzando il membro dell'oggetto pdfVersion
se il documento di input è un modulo Acrobat. RenderOptionsSpec
Il documento PDF di output conserva la versione PDF del modulo Acrobat. Allo stesso modo, non è possibile impostare l’opzione PDF con tag utilizzando il metodo taggedPDF
dell’oggetto RenderOptionsSpec
se il documento di input è un modulo Acrobat.
Non è possibile impostare l’opzione PDF linearizzato utilizzando il membro linearizedPDF
dell’oggetto RenderOptionsSpec
se il documento PDF di input è certificato o firmato digitalmente. Per informazioni, consultare Firma digitale di documenti PDF.
Genera un documento PDF
Creare un documento PDF richiamando il metodo generatePDFOutput
dell'oggetto OutputServiceService
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.BLOB
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).BLOB
compilato dal metodo generatePDFOutput
. Il metodo generatePDFOutput
popola questo oggetto con i dati dei risultati. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).OutputResult
contenente i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).Quando si genera un documento PDF richiamando il metodo generatePDFOutput
, tenere presente che non è possibile unire i dati a un modulo PDF XFA firmato, certificato o contenente diritti di utilizzo. Per informazioni sui diritti di utilizzo, vedere Applicazione dei diritti di utilizzo ai documenti PDF.
Recupera i risultati dell'operazione
System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Assicurati che l'estensione del file sia XML.BLOB
popolato con i dati dei risultati dal metodo OutputServiceService
dell'oggetto generatePDFOutput
(l'ottavo parametro). Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell'oggetto Write
e passando l'array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef
È possibile utilizzare il servizio Output per trasformare un documento PDF interattivo in un PDF non interattivo. Un documento PDF interattivo consente agli utenti di immettere o modificare i dati presenti nei campi del documento PDF. Il processo di trasformazione di un documento PDF interattivo in un documento PDF non interattivo è denominato appiattimento. Quando un documento PDF viene appiattito, un utente non può modificare i dati nei campi del documento. Un motivo per appiattire un documento PDF è quello di garantire che i dati non possano essere modificati.
È possibile appiattire i seguenti tipi di documenti PDF:
Il tentativo di appiattire un PDF non interattivo causa un'eccezione.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per AEM Forms.
Per appiattire un documento PDF interattivo a un documento PDF non interattivo, procedere come segue:
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.
I seguenti file JAR devono essere aggiunti al percorso della classe del progetto:
se AEM Forms è distribuito su un server applicazioni J2EE supportato che non è JBoss, sarà necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazioni J2EE in cui viene distribuito AEM Forms. Per informazioni sulla posizione di tutti i file JAR di AEM Forms, consulta Inclusione dei file libreria Java di AEM Forms.
Creare un oggetto Client di output
Prima di poter eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzi l’API Java, crea un oggetto OutputClient
. Se utilizzi l’API del servizio Web Output, crea un oggetto OutputServiceService
.
Recuperare un documento PDF interattivo
Recuperare un documento PDF interattivo che si desidera trasformare in un documento PDF non interattivo. Il tentativo di trasformare un documento PDF non interattivo causa un'eccezione.
Trasforma il documento PDF
Dopo aver recuperato un documento PDF interattivo, è possibile trasformarlo in un documento PDF non interattivo. Il servizio Output restituisce un documento PDF non interattivo.
Salvare il documento PDF non interattivo come file PDF
È possibile salvare il documento PDF non interattivo come file PDF.
Consulta anche
Appiattire un documento PDF utilizzando l’API Java
Appiattire un documento PDF utilizzando l’API del servizio Web
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API del servizio di output
Appiattire un documento PDF interattivo a un documento PDF non interattivo utilizzando l’API di output (Java):
Includi file di progetto.
Includi file JAR client, come adobe-output-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Client di output.
ServiceClientFactory
contenente le proprietà di connessione.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Recupera un documento PDF interattivo.
java.io.FileInputStream
che rappresenta il documento PDF interattivo da trasformare utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file PDF interattivo.com.adobe.idp.Document
utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream
.Trasforma il documento PDF.
Trasforma il documento PDF interattivo in un documento PDF non interattivo richiamando il metodo transformPDF
dell’oggetto OutputServiceService
e passando i seguenti valori:
com.adobe.idp.Document
che contiene il documento PDF interattivo.TransformationFormat
. Per generare un documento PDF non interattivo, specificare TransformationFormat.PDF
.PDFARevisionNumber
che specifica il numero di revisione. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificare null
.null
.PDFAConformance
che rappresenta il livello di conformità PDF/A. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificare null
.Il metodo transformPDF
restituisce un oggetto com.adobe.idp.Document
contenente un documento PDF non interattivo.
Salvare il documento PDF non interattivo come file PDF.
java.io.File
e assicurati che l'estensione del nome file sia .pdf.copyToFile
dell'oggetto Document
per copiare il contenuto dell'oggetto Document
nel file (assicurarsi di utilizzare l'oggetto Document
restituito dal metodo transformPDF
).Consulta anche
Avvio rapido (modalità EJB): Trasformazione di un documento PDF tramite l’API Java
Avvio rapido (modalità SOAP): Trasformazione di un documento PDF tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Appiattire un documento PDF interattivo a un documento PDF non interattivo utilizzando l’API di output (servizio Web):
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un oggetto Client di output.
Creare un oggetto OutputServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto OutputServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom
). Non è necessario utilizzare l'attributo lc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specifica ?blob=mtom
per utilizzare MTOM.
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo OutputServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
OutputServiceClient.ClientCredentials.UserName.UserName
.OutputServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.Recupera un documento PDF interattivo.
BLOB
utilizzando il relativo costruttore. L'oggetto BLOB
viene utilizzato per memorizzare il documento PDF interattivo.System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF interattivo.System.IO.FileStream
. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length
dell'oggetto System.IO.FileStream
.Read
dell’oggetto System.IO.FileStream
e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.BLOB
assegnando la relativa proprietà MTOM
con il contenuto dell'array di byte.Trasforma il documento PDF.
Trasforma il documento PDF interattivo in un documento PDF non interattivo richiamando il metodo transformPDF
dell’oggetto OutputClient
e passando i seguenti valori:
BLOB
contenente il documento PDF interattivo.TransformationFormat
. Per generare un documento PDF non interattivo, specificare TransformationFormat.PDF
.PDFARevisionNumber
che specifica il numero di revisione.PDFARevisionNumber
. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificare false
.null
.PDFAConformance
che rappresenta il livello di conformità PDF/A.PDFAConformance
. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificare false
.Il metodo transformPDF
restituisce un oggetto BLOB
contenente un documento PDF non interattivo.
Salvare il documento PDF non interattivo come file PDF.
System.IO.FileStream
richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF non interattivo.BLOB
restituito dal metodo transformPDF
. Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.Write
dell’oggetto System.IO.BinaryWriter
e passando l’array di byte.Consulta anche
Richiamo di AEM Forms tramite MTOM
Richiamo di AEM Forms tramite SwaRef