Show Menu
ARGOMENTI×

Creazione di flussi di output dei documenti

Informazioni su Output Service
Il servizio Output consente di inviare i documenti in formato PDF (inclusi i documenti PDF/A), PostScript, PCL (Printer Control Language) e nei seguenti formati di etichetta:
  • Zebra - ZPL
  • Intermec - IPL
  • Datamax - DPL
  • TecToshiba - TPCL
Utilizzando 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 in cui è possibile trasmettere una struttura del modulo (un file XDP) al servizio Output. È possibile trasmettere al servizio Output un' com.adobe.idp.Document istanza contenente una struttura del modulo. In alternativa, è possibile trasmettere un valore URI che specifica la posizione della struttura del modulo. Entrambi questi modi sono descritti nella programmazione con i moduli AEM.
Il servizio Output non supporta i documenti Acrobat PDF contenenti script specifici dell'oggetto applicativo. Non viene eseguito il rendering dei documenti PDF in formato Acrobat contenenti script specifici per oggetti dell'applicazione.
Nelle sezioni seguenti viene illustrato come trasmettere una struttura del modulo al servizio Output utilizzando un valore URI:
Nelle sezioni seguenti viene illustrato come trasmettere una struttura del modulo all'interno di un' com.adobe.idp.Document istanza:
Quando si decide quale tecnica utilizzare, è necessario considerare la possibilità di ottenere la struttura del modulo da un altro servizio AEM Forms, quindi di trasmetterla all'interno di un' com.adobe.idp.Document istanza. 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 delle due tecniche. In altre parole, è possibile specificare il valore URI per un file XDP o utilizzare un' com.adobe.idp.Document istanza.
Per passare un valore URI che specifica la posizione della struttura del modulo durante la creazione di un documento PDF, utilizzare il generatePDFOutput metodo . Analogamente, per passare un' com.adobe.idp.Document istanza al servizio Output durante la creazione di un documento PDF, utilizzare il generatePDFOutput2 metodo .
Quando si invia un flusso di output a una stampante di rete, è possibile utilizzare anche una delle due tecniche. Per inviare un flusso di output a una stampante passando un' com.adobe.idp.Document istanza che contiene una struttura del modulo, utilizzare il sendToPrinter2 metodo. Per inviare un flusso di output a una stampante passando un valore URI, utilizzare il sendToPrinter metodo . La sezione Invio di flussi di stampa alle stampanti utilizza questo sendToPrinter metodo.
È possibile eseguire le operazioni seguenti utilizzando il servizio Output:
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Creazione di documenti PDF

È possibile utilizzare il servizio Output per creare un documento PDF basato su una struttura del modulo e sui dati del modulo XML forniti dall'utente. Il documento PDF creato dal servizio Output non è un documento PDF interattivo; un utente non può immettere o modificare i dati del modulo.
Se si desidera 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 Moduli. Consultate Rendering di PDF forms interattivi.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Riepilogo dei passaggi

Per creare un documento PDF, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Fare riferimento a un'origine dati XML.
  4. Impostare le opzioni di esecuzione PDF.
  5. Impostare le opzioni di esecuzione del rendering.
  6. Generare un documento PDF.
  7. Recuperare i risultati dell'operazione.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, è necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici del server applicazione J2EE in cui sono distribuiti i AEM Forms.
Creare un oggetto Client di output
Prima di eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzate l'API Java, create un OutputClient oggetto. Se si utilizza l'API del servizio Web Output, creare un OutputServiceService oggetto.
Riferimento a un'origine dati XML
Per unire i dati alla struttura del modulo, è necessario fare riferimento a un'origine dati XML che contiene 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.
Considerare 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 codice XML seguente rappresenta un'origine dati XML XDP che corrisponde al modulo di esempio per l'applicazione ipoteca.
 <?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>

Impostazione delle opzioni di esecuzione PDF
Impostare l'opzione URI del file al momento della creazione di un documento PDF. Questa opzione specifica il nome e la posizione del file PDF generato dal servizio Output.
Anziché impostare l'opzione di runtime URI del file, è possibile recuperare il documento PDF a livello di programmazione dal tipo di dati complesso restituito dal servizio Output. Tuttavia, impostando l'opzione di runtime URI del file, non è necessario creare una logica applicativa che recuperi il documento PDF a livello di programmazione.
Impostazione delle opzioni di esecuzione del rendering
È possibile impostare le opzioni di esecuzione del rendering al momento della creazione di un documento PDF. Anche se queste opzioni non sono richieste (a differenza delle opzioni PDF in fase di esecuzione richieste), è possibile eseguire attività quali migliorare le 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 Output o API del servizio Web per disattivare l'impostazione dei tag. Se si tenta di impostare questa opzione a livello di programmazione, al documento PDF risultante viene ancora applicato un tag. false
Se non specificate le opzioni di esecuzione del rendering, vengono utilizzati i valori predefiniti. Per informazioni sul rendering delle opzioni di esecuzione, vedere il riferimento alla RenderOptionsSpec classe. Consultate Riferimento API AEM Forms.
Generazione di un documento PDF
Dopo aver fatto riferimento a un'origine dati XML valida che contiene i dati del modulo e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output, generando così un documento PDF.
Durante la generazione di un documento PDF, è possibile specificare i valori URI richiesti dal servizio Output per creare un documento PDF. Una struttura del modulo può essere memorizzata in percorsi quali il file system del server o come parte di un'applicazione AEM Forms. Per fare riferimento a una struttura del modulo (o ad altre risorse, come un file di immagine) esistente all'interno di un'applicazione Forms, utilizzare il valore URI radice del contenuto repository:/// . Ad esempio, tenere in considerazione la seguente struttura del modulo denominata Loan.xdp , che si trova all'interno di un'applicazione Forms denominata Applications/FormsApplication :
Per accedere al file Loan.xdp illustrato nell'illustrazione precedente, specificate repository:///Applications/FormsApplication/1.0/FormsFolder/ come terzo parametro passato al OutputClient metodo dell'oggetto generatePDFOutput . Specificare il nome del modulo ( Loan.xdp ) come secondo parametro passato al metodo dell' OutputClient oggetto generatePDFOutput .
Se il file XDP contiene immagini (o altre risorse come i frammenti), posizionare 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, accertatevi di inserire l'immagine in Applications/FormsApplication/1.0/FormsFolder/ .
È possibile fare riferimento all'URI di un'applicazione Forms quando si richiamano i OutputClient metodi generatePDFOutput o generatePrintedOutput gli oggetti.
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 mediante l'API Java.
Recuperare i risultati dell'operazione
Dopo che il servizio Output ha eseguito un'operazione, 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 di output (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Client di output.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Fare riferimento a un'origine dati XML.
    • Creare un java.io.FileInputStream oggetto 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.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore. Passate l' java.io.FileInputStream oggetto.
  4. Impostare le opzioni di esecuzione PDF.
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione URI del file richiamando il PDFOutputOptionsSpec metodo dell' setFileURI oggetto. Passa un valore di stringa che specifica la posizione del file PDF generato dal servizio Output. L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
  5. Impostare le opzioni di esecuzione del rendering.
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Memorizzare nella cache la struttura del modulo per migliorare le prestazioni del servizio Output richiamando l' RenderOptionsSpec oggetto setCacheEnabled e passando true .
    Non è possibile impostare la versione del documento PDF utilizzando il metodo dell' RenderOptionsSpec oggetto setPdfVersion 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. Analogamente, non è possibile impostare l'opzione Adobe PDF con tag richiamando il metodo dell' RenderOptionsSpec oggetto setTaggedPDF 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 dell' RenderOptionsSpec oggetto setLinearizedPDF se il documento PDF di input è certificato o firmato digitalmente. (Vedere Firma digitale di documenti ​PDF.)
  6. Generare un documento PDF.
    Creare un documento PDF richiamando il metodo dell' OutputClient oggetto generatePDFOutput e passando i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' com.adobe.idp.Document oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    Il generatePDFOutput metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
    Durante la generazione di un documento PDF richiamando il generatePDFOutput metodo, 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' getRecordLevelMetaDataList oggetto restituisce null .
    È inoltre possibile creare un documento PDF richiamando il OutputClient metodo dell' generatePDFOutput2 . (Vedere Trasmissione di documenti in Content Services (obsoleto) al servizio ​di output.)
  7. Recuperare i risultati dell'operazione.
    • Recuperare un com.adobe.idp.Document oggetto che rappresenti lo stato dell' generatePDFOutput operazione richiamando il metodo dell' OutputResult oggetto getStatusDoc . Questo metodo restituisce dati XML di stato che specificano se l'operazione ha avuto esito positivo.
    • Creare un java.io.File oggetto che contenga i risultati dell'operazione. Accertatevi che l’estensione del nome del file sia .xml.
    • Richiamare il metodo com.adobe.idp.Document dell'oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file (assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal getStatusDoc metodo).
    Sebbene il servizio Output scriva il documento PDF nella posizione specificata dall'argomento passato al PDFOutputOptionsSpec metodo dell' setFileURI oggetto, è possibile recuperare il documento PDF/A a livello di programmazione richiamando il metodo dell' OutputResult oggetto getGeneratedDoc .
Consulta anche

Creazione di un documento PDF tramite l'API del servizio Web

Creare un documento PDF utilizzando l'API di Output (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di output.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Fare riferimento a un'origine dati XML.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare i dati XML che verranno uniti al documento PDF.
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file XML contenente i dati del modulo.
    • Creare un array di byte che memorizza il contenuto dell' System.IO.FileStream oggetto. È possibile determinare la dimensione dell'array di byte ottenendo la proprietà dell' System.IO.FileStream oggetto Length .
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream Read metodo dell'oggetto e passando l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l' BLOB oggetto assegnandone MTOM il campo con il contenuto dell'array di byte.
  4. Impostazione delle opzioni di esecuzione PDF
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione URI del file assegnando un valore di stringa che specifica la posizione del file PDF generato dal servizio Output al membro PDFOutputOptionsSpec dati dell' fileURI oggetto. L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
  5. Impostare le opzioni di esecuzione del rendering.
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Memorizzare nella cache la struttura del modulo per migliorare le prestazioni del servizio Output assegnando il valore true al membro RenderOptionsSpec dati dell' cacheEnabled oggetto.
    Non è possibile impostare la versione del documento PDF utilizzando il metodo dell' RenderOptionsSpec oggetto setPdfVersion 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 dell' RenderOptionsSpec oggetto setTaggedPDF * 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 dell' RenderOptionsSpec oggetto linearizedPDF se il documento PDF di input è certificato o firmato digitalmente. (Vedere Firma digitale di documenti ​PDF.)
  6. Generare un documento PDF.
    Creare un documento PDF richiamando il OutputServiceService generatePDFOutput metodo dell'oggetto e passando i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' BLOB oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i dati dei risultati. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    • Un OutputResult oggetto che contiene i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    Durante la generazione di un documento PDF richiamando il generatePDFOutput metodo, 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 OutputClient metodo dell' generatePDFOutput2 . (Vedere Trasmissione di documenti in Content Services (obsoleto) al servizio ​di output.)
  7. Recuperare i risultati dell'operazione.
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Accertatevi che l’estensione del nome del file sia .xml.
    • Creare un array di byte che memorizza il contenuto dei dati dell' BLOB oggetto compilato con i dati dei risultati dal OutputServiceService metodo dell' generatePDFOutput oggetto (ottavo parametro). Compilare l'array di byte ottenendo il valore dell' BLOB oggetto MTOM field .
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte nel file XML richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
    Consulta anche
    Il metodo OutputServiceService dell' generateOutput oggetto è obsoleto.

Creazione di documenti PDF/A

È 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, è possibile creare un documento PDF/A mediante la creazione di una struttura del modulo e di dati da unire a una struttura del modulo.
La specifica PDF/A-1 è costituita da due livelli di conformità, vale a dire a e b. La differenza principale tra i due è relativa al supporto della struttura logica (accessibilità), che non è richiesto per il livello di conformità b. Indipendentemente dal livello di conformità, PDF/A-1 specifica 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 i PDF/A per l'archiviazione se un documento PDF standard soddisfa le esigenze aziendali. Lo scopo dello standard PDF/A è quello di stabilire un file PDF che possa essere memorizzato per un lungo periodo di tempo, oltre a soddisfare i requisiti di conservazione dei documenti. Ad esempio, un URL non può essere incorporato in un PDF/A perché nel tempo l’URL potrebbe diventare non valido.
L'organizzazione deve valutare le proprie esigenze, il tempo di conservazione del documento, le dimensioni del file e determinare la propria strategia di archiviazione. È possibile determinare a livello di programmazione se un documento PDF è conforme allo standard PDF/A utilizzando il servizio DocConverter. (Vedere 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 nell'illustrazione seguente.
Nel sito Web AIIM è disponibile una sezione relativa alle domande frequenti in formato PDF/A accessibile da https://www.aiim.org/documents/standards/19005-1_FAQ.pdf .
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Riepilogo dei passaggi

Per creare un documento PDF/A, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Fare riferimento a un'origine dati XML.
  4. Impostare le opzioni di esecuzione PDF/A.
  5. Impostare le opzioni di esecuzione del rendering.
  6. Generare un documento PDF/A.
  7. Recuperare i risultati dell'operazione.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione personalizzata utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, è necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici del server applicazione J2EE in cui sono distribuiti i AEM Forms.
Creare un oggetto Client di output
Prima di eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzate l'API Java, create un OutputClient oggetto. Se si utilizza l'API del servizio Web Output, creare un OutputServiceService oggetto.
Riferimento a un'origine dati XML
Per unire i dati alla struttura del modulo, è necessario fare riferimento a un'origine dati XML che contiene 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.
Impostazione delle opzioni di esecuzione PDF/A
È possibile impostare l'opzione URI del file al momento della creazione di un documento PDF/A. L'URI è relativo ai AEM Forms host del server applicazione J2EE. Ovvero, se impostate C:\Adobe, il file viene scritto nella cartella sul server, non sul computer client. L'URI specifica il nome e la posizione del file PDF/A generato dal servizio Output.
Impostazione delle 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 ai file PDF/A: PDFAConformance e PDFARevisionNumber . Il PDFAConformance valore si riferisce al modo in cui un documento PDF rispetta i 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 sul livello a e sulla conformità b, vedere la specifica ISO PDF/A-1 denominata ISO 19005-1 Document Management .
Il PDFARevisionNumber valore 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 quando si crea un documento PDF/A 1A. false PDF/A 1A sarà sempre un documento PDF con tag. Inoltre, non è possibile impostare l'opzione Adobe PDF con tag su quando si crea un documento PDF/A 1B. true 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 che contiene i dati del modulo e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output generando un documento PDF/A.
Recuperare 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 di output (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Client di output.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Fare riferimento a un'origine dati XML.
    • Creare un java.io.FileInputStream oggetto 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.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto.
  4. Impostare le opzioni di esecuzione PDF/A.
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione URI del file richiamando il PDFOutputOptionsSpec metodo dell' setFileURI oggetto. Passa un valore di stringa che specifica la posizione del file PDF generato dal servizio Output. L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
  5. Impostare le opzioni di esecuzione del rendering.
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare il PDFAConformance valore richiamando il RenderOptionsSpec metodo dell' setPDFAConformance oggetto e passando un valore PDFAConformance enum che specifica il livello di conformità. Ad esempio, per specificare il livello di conformità A, passare PDFAConformance.A .
    • Impostare il PDFARevisionNumber valore richiamando il RenderOptionsSpec metodo dell' setPDFARevisionNumber oggetto e passando PDFARevisionNumber.Revision_1 .
    La versione PDF di un documento PDF/A è 1.4 indipendentemente dal valore specificato per il RenderOptionsSpec metodo dell' setPdfVersion oggetto.
  6. Generare un documento PDF/A.
    Creare un documento PDF/A richiamando il metodo dell' OutputClient oggetto generatePDFOutput e passando i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF/A, specificare TransformationFormat.PDFA .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' com.adobe.idp.Document oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    Il generatePDFOutput metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
    Il metodo OutputResult dell' getRecordLevelMetaDataList oggetto restituisce null .
    È inoltre possibile creare un documento PDF/A richiamando il metodo OutputClient 2 dell' generatePDFOutput oggetto. (Vedere Trasmissione di documenti in Content Services (obsoleto) al servizio di output.)
  7. Recuperare i risultati dell'operazione.
    • Creare un com.adobe.idp.Document oggetto che rappresenti lo stato del generatePDFOutput metodo richiamando il metodo dell' OutputResult oggetto getStatusDoc .
    • Creare un java.io.File oggetto che conterrà i risultati dell'operazione. Accertatevi che l’estensione del nome del file sia .xml.
    • Richiamare il metodo com.adobe.idp.Document dell'oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file (assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal getStatusDoc metodo).
    Sebbene il servizio Output scriva il documento PDF/A nella posizione specificata dall'argomento passato al PDFOutputOptionsSpec metodo dell' setFileURI oggetto, è possibile recuperare il documento PDF/A a livello di programmazione richiamando il metodo dell' OutputResult oggetto getGeneratedDoc .
Consulta anche

Creare un documento PDF/A utilizzando l'API del servizio Web

Creare un documento PDF/A utilizzando l'API di Output (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di output.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Fare riferimento a un'origine dati XML.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare i dati che verranno uniti al documento PDF/A.
    • Creare un System.IO.FileStream oggetto 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.
    • Creare un array di byte che memorizza il contenuto dell' System.IO.FileStream oggetto. È possibile determinare la dimensione dell'array di byte ottenendo la proprietà dell' System.IO.FileStream oggetto Length .
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream Read metodo dell'oggetto e passando l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l' BLOB oggetto assegnando il relativo MTOM campo con il contenuto dell'array di byte.
  4. Impostare le opzioni di esecuzione PDF/A.
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione URI del file assegnando un valore di stringa che specifica la posizione del file PDF generato dal servizio Output al membro PDFOutputOptionsSpec dati dell' fileURI oggetto. L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client
  5. Impostare le opzioni di esecuzione del rendering.
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare il PDFAConformance valore assegnando un valore PDFAConformance enum al membro dati dell' RenderOptionsSpec oggetto PDFAConformance . Ad esempio, per specificare il livello di conformità A, assegnare PDFAConformance.A a questo membro dati.
    • Impostare il PDFARevisionNumber valore assegnando un valore PDFARevisionNumber enum al membro dati dell' RenderOptionsSpec oggetto PDFARevisionNumber . Assegna PDFARevisionNumber.Revision_1 a questo membro dati.
    La versione PDF di un documento PDF/A è 1.4 indipendentemente dal valore specificato.
  6. Generare un documento PDF/A.
    Creare un documento PDF richiamando il OutputServiceService generatePDFOutput metodo dell'oggetto e passando i seguenti valori:
    • Un valore di enumerazione TransformationFormat. Per generare un documento PDF, specificare TransformationFormat.PDFA .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' BLOB oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i metadati generati che descrivono il documento. Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i dati dei risultati. Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
    • Un OutputResult oggetto che contiene i risultati dell'operazione. Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
    È inoltre possibile creare un documento PDF/A richiamando il metodo OutputClient 2 dell' generatePDFOutput oggetto. (Vedere Trasmissione di documenti in Content Services (obsoleto) al servizio di output.)
  7. Recuperare i risultati dell'operazione.
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Accertatevi che l’estensione del nome del file sia .xml.
    • Creare un array di byte che memorizza il contenuto dei dati dell' BLOB oggetto compilato con i dati dei risultati dal OutputServiceService metodo dell' generatePDFOutput oggetto (ottavo parametro). Compilare l'array di byte ottenendo il valore del campo dell' BLOB oggetto MTOM .
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte nel file XML richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
Consulta anche

Trasmissione di documenti in Content Services (obsoleto) al servizio di output

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 trasmettere al servizio Output un oggetto com.adobe.idp.Document che contiene la struttura del modulo. Il servizio Output esegue quindi il rendering della struttura del modulo situata nell' com.adobe.idp.Document oggetto.
Il vantaggio di passare un com.adobe.idp.Document oggetto al servizio Output è rappresentato dal fatto che altre operazioni del servizio AEM Forms restituiscono un' com.adobe.idp.Document istanza. In altre parole, potete ottenere un’ com.adobe.idp.Document istanza da un’altra operazione del 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 nell'illustrazione seguente.
È possibile recuperare Loan.xdp da Content Services (obsoleto) a livello di programmazione e passare il file XDP al servizio Output all'interno di un com.adobe.idp.Document oggetto.
Per ulteriori informazioni sul servizio Forms, vedere Riferimento servizi per gli AEM Forms .

Riepilogo dei passaggi

Per passare un documento ottenuto da Content Services (obsoleto) al servizio Output, eseguire le operazioni seguenti:
  1. Includere i file di progetto.
  2. Creare un oggetto Output e un oggetto Document Management Client API.
  3. Recuperare la struttura del modulo da Content Services (obsoleto).
  4. Eseguire il rendering del modulo PDF non interattivo.
  5. Eseguire un'azione con il flusso di dati.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, includete i file proxy.
Creare un oggetto Output e un oggetto API client Document Management
Prima di eseguire un'operazione API del servizio Output a livello di programmazione, creare un oggetto API Client Output. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), create un oggetto API Document Management.
Recuperare la struttura del modulo da Content Services (obsoleto)
Recuperate il file XDP da Content Services (obsoleto) utilizzando l'API Java o del servizio Web. Il file XDP viene restituito all'interno di un' com.adobe.idp.Document istanza (o di un' BLOB istanza se si utilizzano i servizi Web). È quindi possibile passare l' com.adobe.idp.Document istanza al servizio Output.
Rendering del modulo PDF non interattivo
Per eseguire il rendering di un modulo non interattivo, passare l' com.adobe.idp.Document istanza restituita da Content Services (obsoleto) al servizio Output.
Due nuovi metodi denominati generatePDFOutput2 e g eneratePrintedOutput2 accettano un com.adobe.idp.Document oggetto che contiene una struttura del modulo. È inoltre possibile trasmettere al servizio Output una struttura del modulo com.adobe.idp.Document contenente la struttura del modulo durante l'invio di 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 mediante l'API Java

Trasferite un documento recuperato da Content Services (obsoleto) utilizzando il servizio di output e Content Services (obsoleto) API (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar e adobe-contentservices-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Output e un oggetto Document Management Client API.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.)
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
    • Creare un DocumentManagementServiceClientImpl oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Recuperare la struttura del modulo da Content Services (obsoleto).
    Richiama il metodo dell’ DocumentManagementServiceClientImpl oggetto retrieveContent e passa i seguenti valori:
    • Valore stringa che specifica lo store in cui viene aggiunto il contenuto. Lo store predefinito è SpacesStore . Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica il percorso completo del contenuto da recuperare (ad esempio, /Company Home/Form Designs/Loan.xdp ). Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica la versione. Questo valore è un parametro facoltativo e potete trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
    Il retrieveContent metodo restituisce un CRCResult oggetto che contiene il file XDP. Recuperare un' com.adobe.idp.Document istanza richiamando il CRCResult metodo dell' getDocument oggetto.
  4. Eseguire il rendering del modulo PDF non interattivo.
    Richiama il metodo dell’ OutputClient oggetto generatePDFOutput2 e passa i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica la radice del contenuto in cui si trovano le risorse aggiuntive, come le immagini.
    • Un com.adobe.idp.Document oggetto che rappresenta la struttura del modulo (utilizzare l'istanza restituita dal CRCResult metodo dell'oggetto getDocument ).
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' com.adobe.idp.Document oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    Il generatePDFOutput2 metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
  5. Eseguire un'azione con il flusso di dati del modulo.
    • Recuperare un com.adobe.idp.Document oggetto che rappresenta il modulo non interattivo richiamando il OutputResult metodo dell'oggetto getGeneratedDoc .
    • Creare un java.io.File oggetto che contenga i risultati dell'operazione. Accertatevi che l’estensione del nome file sia .pdf.
    • Richiamare il metodo com.adobe.idp.Document dell'oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file (assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal getGeneratedDoc metodo).
Consulta anche

Trasmettere i documenti al servizio di output mediante l'API del servizio Web

Trasferite un documento recuperato da Content Services (obsoleto) utilizzando il servizio di output e Content Services (obsoleto) API (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Poiché questa applicazione client richiama due servizi AEM Forms, create due riferimenti di 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 .
    Utilizzate 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 BLOB dati è comune a entrambi i riferimenti di servizio, è necessario qualificare completamente il tipo di BLOB dati quando viene utilizzato. Nella procedura di avvio rapido del servizio Web corrispondente, tutte BLOB le istanze sono completamente qualificate.
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Output e un oggetto Document Management Client API.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Trasmettere un valore di stringa che specifica il WSDL al servizio Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom ). Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
    • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
    Ripetete questi passaggi per il client di DocumentManagementServiceClient servizio.
  3. Recuperare la struttura del modulo da Content Services (obsoleto).
    Recuperare il contenuto richiamando il metodo dell' DocumentManagementServiceClient oggetto retrieveContent e passando i seguenti valori:
    • Valore stringa che specifica lo store in cui viene aggiunto il contenuto. Lo store predefinito è SpacesStore . Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica il percorso completo del contenuto da recuperare (ad esempio, /Company Home/Form Designs/Loan.xdp ). Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica la versione. Questo valore è un parametro facoltativo e potete trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
    • Un parametro di output della stringa che memorizza il valore del collegamento di ricerca.
    • Un parametro di BLOB output che memorizza il contenuto. Potete usare questo parametro di output per recuperare il contenuto.
    • Un parametro ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType di output che memorizza gli attributi di contenuto.
    • Un parametro CRCResult di output. Invece di utilizzare questo oggetto, potete utilizzare il parametro BLOB output per recuperare il contenuto.
  4. Eseguire il rendering del modulo PDF non interattivo.
    Richiama il metodo dell’ OutputServiceClient oggetto generatePDFOutput2 e passa i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica la radice del contenuto in cui si trovano le risorse aggiuntive, come le immagini.
    • Un oggetto BLOB che rappresenta la struttura del modulo (utilizzare l' BLOB istanza restituita da Content Services (obsoleto)).
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' BLOB oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    • Un oggetto di output BLOB compilato dal generatePDFOutput2 metodo. Il generatePDFOutput2 metodo popola l'oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    • Un OutputResult oggetto di output che contiene i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    Il generatePDFOutput2 metodo restituisce un BLOB oggetto che contiene il modulo PDF non interattivo.
  5. Eseguire un'azione con il flusso di dati del modulo.
    • Creare un System.IO.FileStream oggetto richiamandone il costruttore. Passare un valore di stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file.
    • Creare un array di byte che memorizza il contenuto dell' BLOB oggetto recuperato dal generatePDFOutput2 metodo. Compilare l'array di byte ottenendo il valore del membro BLOB dati dell' MTOM oggetto.
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte in un file PDF richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
Consulta anche

Trasmissione di documenti situati nell'archivio al servizio di output

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 trasmettere al servizio Output un oggetto com.adobe.idp.Document che contiene la struttura del modulo. Il servizio Output esegue quindi il rendering della struttura del modulo situata nell' com.adobe.idp.Document oggetto.
Il vantaggio di passare un com.adobe.idp.Document oggetto al servizio Output è rappresentato dal fatto che altre operazioni del servizio AEM Forms restituiscono un' com.adobe.idp.Document istanza. In altre parole, potete ottenere un’ com.adobe.idp.Document istanza da un’altra operazione del servizio ed eseguirne il rendering. Ad esempio, si supponga che un file XDP sia memorizzato nell'archivio AEM Forms, come illustrato nell'illustrazione seguente.
La cartella FormsFolder è un percorso definito dall’utente nell’archivio AEM Forms (questo è un esempio e non esiste per impostazione predefinita). In questo esempio, in questa cartella si trova una struttura del modulo denominata Loan.xdp. Oltre alla struttura del modulo, in questa posizione è possibile memorizzare altre risorse del modulo, come le immagini. Il percorso di una risorsa che si trova nell'archivio AEM Forms è:
Applications/Application-name/Application-version/Folder.../Filename
È possibile recuperare Loan.xdp a livello di programmazione dall'archivio AEM Forms e passarlo al servizio Output all'interno di un com.adobe.idp.Document oggetto.
È possibile creare un PDF basato su un file XDP presente nella directory archivio in uno dei due modi disponibili. È possibile 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): Trasmettendo un documento che si trova nell'archivio AEM Forms al servizio Output utilizzando l'API Java (viene mostrato come recuperare il file XDP dall'archivio AEM Forms e trasmetterlo al servizio Output all'interno di un' com.adobe.idp.Document istanza) a livello di programmazione. (In questa sezione viene illustrato come eseguire questa attività)
Per ulteriori informazioni sul servizio Forms, vedere Riferimento servizi per gli AEM Forms .

Riepilogo dei passaggi

Per passare un documento ottenuto dall'archivio AEM Forms al servizio Output, eseguire le operazioni seguenti:
  1. Includere i file di progetto.
  2. Creare un oggetto Output e un oggetto Document Management Client API.
  3. Recuperare la struttura del modulo dall'archivio AEM Forms.
  4. Eseguire il rendering del modulo PDF non interattivo.
  5. Eseguire un'azione con il flusso di dati.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, includete i file proxy.
Creare un oggetto Output e un oggetto API client Document Management
Prima di eseguire un'operazione API del servizio Output a livello di programmazione, creare un oggetto API Client Output. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), create un oggetto API Document Management.
Recuperare la struttura del modulo dall'archivio AEM Forms
Recuperare il file XDP dall'archivio AEM Forms utilizzando l'API Repository. (Vedere Risorse di lettura.)
Il file XDP viene restituito all'interno di un' com.adobe.idp.Document istanza (o di un' BLOB istanza se si utilizzano i servizi Web). È quindi possibile passare l' com.adobe.idp.Document istanza al servizio Output.
Rendering del modulo PDF non interattivo
Per eseguire il rendering di un modulo non interattivo, passare l' com.adobe.idp.Document istanza restituita utilizzando l'API Repository AEM Forms.
Due nuovi metodi denominati generatePDFOutput2 e generatePrintedOutput2 accettano un com.adobe.idp.Document oggetto contenente una struttura del modulo. È inoltre possibile trasmettere al servizio Output una struttura del modulo com.adobe.idp.Document contenente la struttura del modulo durante l'invio di 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
ResourceRepositoryClient

Trasmettere al servizio di output i documenti che si trovano nell'archivio tramite l'API Java

Trasmettere un documento recuperato dall'archivio utilizzando il servizio Output e l'API Repository (Java):
  1. Includere i file di progetto.
    Includete file JAR client, come adobe-output-client.jar e adobe-repository-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Output e un oggetto Document Management Client API.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.)
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
    • Creare un DocumentManagementServiceClientImpl oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Recuperare la struttura del modulo dall'archivio AEM Forms.
    Richiamare il metodo dell' ResourceRepositoryClient oggetto readResourceContent e passare un valore di stringa che specifica la posizione URI del file XDP. Esempio, /Applications/FormsApplication/1.0/FormsFolder/Loan.xdp . Questo valore è obbligatorio. Questo metodo restituisce un' com.adobe.idp.Document istanza che rappresenta il file XDP.
  4. Eseguire il rendering del modulo PDF non interattivo.
    Richiama il metodo dell’ OutputClient oggetto generatePDFOutput2 e passa i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica la directory principale del contenuto in cui si trovano le risorse aggiuntive, come le immagini. Esempio, repository:///Applications/FormsApplication/1.0/FormsFolder/ .
    • Un com.adobe.idp.Document oggetto che rappresenta la struttura del modulo (utilizzare l'istanza restituita dal ResourceRepositoryClient metodo dell'oggetto readResourceContent ).
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' com.adobe.idp.Document oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    Il generatePDFOutput2 metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
  5. Eseguire un'azione con il flusso di dati del modulo.
    • Recuperare un com.adobe.idp.Document oggetto che rappresenta il modulo non interattivo richiamando il OutputResult metodo dell'oggetto getGeneratedDoc .
    • Creare un java.io.File oggetto che contenga i risultati dell'operazione. Accertatevi che l’estensione del nome file sia .pdf.
    • Richiamare il metodo com.adobe.idp.Document dell'oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file (assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal getGeneratedDoc metodo).
Consulta anche

Creazione di documenti PDF tramite frammenti

È 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 presenti 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 generato, il servizio Output può generare altri tipi di output, come ZPL, per questo flusso di lavoro. Un documento PDF è utilizzato solo a scopo di discussione.
L'illustrazione seguente mostra questo flusso di lavoro.
Prima di leggere Creazione di documenti PDF utilizzando i frammenti , è consigliabile acquisire familiarità con l'uso del servizio Assembler per assemblare più documenti XDP. (Vedere Assemblaggio Di Più Frammenti XDP.)
È inoltre possibile trasmettere 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 genera documenti PDF non interattivi. Inoltre, il servizio Forms non è in grado di generare flussi di output basati sulla stampante come ZPL.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Riepilogo dei passaggi

Per creare un documento PDF basato sui frammenti, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di Output e Assembler.
  3. Utilizzare il servizio Assembler per generare la struttura del modulo.
  4. Utilizzare il servizio Output per generare il documento PDF.
  5. Salvare il documento PDF come file PDF.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
Creare un oggetto Client di Output e Assembler
Prima di eseguire un'operazione API del servizio Output a livello di programmazione, creare un oggetto API Client 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' com.adobe.idp.Document istanza 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. Passare l' com.adobe.idp.Document istanza restituita dal servizio Assembler al servizio Output.
Salvare il documento PDF come file PDF
Dopo che il servizio Output ha generato un documento PDF, è possibile salvarlo come file PDF.
Consulta anche

Creazione di un documento PDF basato su frammenti tramite l'API Java

Creare un documento PDF basato sui frammenti utilizzando l'API di Output Service e l'API di Assembler Service (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Client di Output e Assembler.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
    • Creare un AssemblerServiceClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Utilizzare il servizio Assembler per generare la struttura del modulo.
    Richiamare il metodo dell' AssemblerServiceClient oggetto invokeDDX e trasmettere i seguenti valori obbligatori:
    • Un com.adobe.idp.Document oggetto che rappresenta il documento DDX da utilizzare.
    • Un java.util.Map oggetto che contiene i file XDP di input.
    • Un com.adobe.livecycle.assembler.client.AssemblerOptionSpec oggetto che specifica le opzioni di esecuzione, incluso il font predefinito e il livello di registro del processo.
    Il invokeDDX metodo restituisce un com.adobe.livecycle.assembler.client.AssemblerResult oggetto che contiene il documento XDP assemblato. Per recuperare il documento XDP assemblato, eseguire le operazioni seguenti:
    • Richiama il metodo dell’ AssemblerResult oggetto getDocuments . Questo metodo restituisce un java.util.Map oggetto.
    • Eseguire un'iterazione sull' java.util.Map oggetto fino a individuare l' com.adobe.idp.Document oggetto risultante.
    • Richiamare il metodo dell' com.adobe.idp.Document oggetto copyToFile per estrarre il documento XDP assemblato.
  4. Utilizzare il servizio Output per generare il documento PDF.
    Richiama il metodo dell’ OutputClient oggetto generatePDFOutput2 e passa i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF
    • Una stringa che specifica la radice del contenuto in cui si trovano le risorse aggiuntive, come le immagini
    • Un com.adobe.idp.Document oggetto che rappresenta la struttura del modulo (utilizzare l'istanza restituita dal servizio Assembler)
    • Un PDFOutputOptionsSpec oggetto che contiene le opzioni di esecuzione PDF
    • Un oggetto RenderOptionsSpec che contiene le opzioni di esecuzione del rendering
    • L' com.adobe.idp.Document oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo
    Il generatePDFOutput2 metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione
  5. Salvare il documento PDF come file PDF.
    • Recuperare un com.adobe.idp.Document oggetto che rappresenta il documento PDF richiamando il OutputResult metodo dell' getGeneratedDoc oggetto.
    • Creare un java.io.File oggetto che contenga i risultati dell'operazione. Accertatevi che l’estensione del nome file sia .pdf.
    • Richiamare il metodo dell' com.adobe.idp.Document oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file. Assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal getGeneratedDoc metodo.
Consulta anche

Creazione di un documento PDF basato su frammenti tramite l'API del servizio Web

Creare un documento PDF basato sui frammenti utilizzando l'API di Output Service e l'API di Assembler Service (servizio Web):
  1. Includere i 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.
    
    
    Utilizzate 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 BLOB dati è comune a entrambi i riferimenti di servizio, è necessario qualificare completamente il tipo di BLOB dati quando viene utilizzato. Nella procedura di avvio rapido del servizio Web corrispondente, tutte BLOB le istanze sono completamente qualificate.
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di Output e Assembler.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al OutputServiceClient.ClientCredentials.UserName.UserName campo.
      • Assegnare il valore della password corrispondente al OutputServiceClient.ClientCredentials.UserName.Password campo.
      • Assegnare il valore costante HttpClientCredentialType.Basic al BasicHttpBindingSecurity.Transport.ClientCredentialType campo.
    • Assegnare il valore BasicHttpSecurityMode.TransportCredentialOnly costante al BasicHttpBindingSecurity.Security.Mode campo.
    Ripetere i passaggi indicati per l' AssemblerServiceClient oggetto.
  3. Utilizzare il servizio Assembler per generare la struttura del modulo.
    Richiama il metodo dell’ AssemblerServiceClient oggetto invokeDDX e passa i seguenti valori:
    • Un BLOB oggetto che rappresenta il documento DDX
    • L' MyMapOf_xsd_string_To_xsd_anyType oggetto che contiene i file richiesti
    • Un oggetto AssemblerOptionSpec che specifica le opzioni di esecuzione
    Il invokeDDX metodo restituisce un AssemblerResult oggetto che contiene i risultati del processo ed eventuali eccezioni. Per ottenere il documento XDP appena creato, effettuare le seguenti operazioni:
    • Accedere al campo AssemblerResult dell' documents oggetto, ovvero un Map oggetto che contiene i documenti PDF risultanti.
    • Scorrere l' Map oggetto per recuperare la struttura del modulo assemblato. Inserite il membro della matrice value in un BLOB . Passa questa BLOB istanza al servizio Output.
  4. Utilizzare il servizio Output per generare il documento PDF.
    Richiama il metodo dell’ OutputServiceClient oggetto generatePDFOutput2 e passa i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica la directory principale del contenuto in cui si trovano le risorse aggiuntive, come le immagini.
    • Un BLOB oggetto che rappresenta la struttura del modulo (utilizzare l' BLOB istanza restituita dal servizio Assembler).
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' BLOB oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    • Un BLOB oggetto di output compilato dal generatePDFOutput2 metodo. Il generatePDFOutput2 metodo popola l'oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    • Un OutputResult oggetto di output che contiene i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    Il generatePDFOutput2 metodo restituisce un BLOB oggetto che contiene il modulo PDF non interattivo.
  5. Salvare il documento PDF come file PDF.
    • Creare un System.IO.FileStream oggetto richiamandone il costruttore. Passare un valore di stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file.
    • Creare un array di byte che memorizza il contenuto dell' BLOB oggetto recuperato dal generatePDFOutput2 metodo. Compilare l'array di byte ottenendo il valore del membro BLOB dati dell' MTOM oggetto.
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte in un file PDF richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
Consulta anche

Stampa su file

È possibile utilizzare il servizio Output per stampare su un file flussi quali PostScript, PCL (Printer Control Language) o i seguenti formati di etichetta:
  • Zebra - ZPL
  • Intermec - IPL
  • Datamax - DPL
  • TecToshiba - TPCL
Il servizio Output consente di unire i dati XML a una struttura del modulo e di stampare il modulo su 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 i AEM Forms .

Riepilogo dei passaggi

Per stampare su un file, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Fare riferimento a un'origine dati XML.
  4. Impostare le opzioni di esecuzione della stampa necessarie per stampare su un file.
  5. Stampare il flusso di stampa su un file.
  6. Recuperare i risultati dell'operazione.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, è necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici del server applicazione J2EE in cui sono distribuiti i AEM Forms. Consultate Inclusione di file libreria Java AEM Forms.
Creare un oggetto Client di output
Prima di eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzate l'API Java, create un OutputClient oggetto. Se si utilizza l'API del servizio Web Output, creare un OutputServiceService oggetto.
Riferimento a un'origine dati XML
Per stampare un documento contenente dati, è necessario fare riferimento a un'origine dati XML che contiene 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.
Impostazione delle opzioni di esecuzione della stampa necessarie per stampare su un file
Per stampare su un file, è necessario impostare l'opzione di esecuzione URI del file 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 MortgageForm.ps su C:\Adobe, specificare C:\Adobe\MortgageForm.ps.
È possibile definire opzioni di runtime facoltative. Per informazioni su tutte le opzioni che potete impostare, consultate il riferimento alla PrintedOutputOptionsSpec classe in Riferimento API per AEM Forms .
Stampare il flusso di stampa su un file
Dopo aver fatto riferimento a un'origine dati XML valida che contiene i dati del modulo e aver impostato le opzioni di esecuzione della stampa, è possibile richiamare il servizio Output, che causa la stampa di un file.
Recuperare 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

Invio di flussi di stampa alle stampanti

È possibile utilizzare il servizio Output per inviare flussi di stampa come PostScript, PCL (Printer Control Language) o i seguenti formati di etichetta alle stampanti di rete:
  • Zebra - ZPL
  • Intermec - IPL
  • Datamax - DPL
  • TecToshiba - TPCL
Utilizzando il servizio Output, è possibile unire i dati XML a 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 è illustrato il servizio Output che invia flussi di stampa alle stampanti di rete.
Per dimostrare come inviare un flusso di stampa a una stampante di rete, in questa sezione viene inviato 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 i AEM Forms .

Riepilogo dei passaggi

Per inviare un flusso di stampa a una stampante di rete, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Fare riferimento a un'origine dati XML.
  4. Impostazione delle opzioni di esecuzione della stampa
  5. Recuperare un documento da stampare.
  6. Inviare il documento a una stampante di rete.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, è necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici del server applicazione J2EE in cui sono distribuiti i 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 utilizzate l'API Java, create un OutputClient oggetto. Se si utilizza l'API del servizio Web Output, creare un OutputServiceClient oggetto.
Riferimento a un'origine dati XML
Per stampare un documento contenente dati, è necessario fare riferimento a un'origine dati XML che contiene 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.
Impostazione delle opzioni di esecuzione della stampa
È possibile impostare le opzioni di esecuzione quando si invia un flusso di stampa a una stampante, comprese le seguenti opzioni:
  • Copie : Specifica il numero di copie da inviare alla stampante. Il valore predefinito è 1.
  • Anello : Quando si utilizza uno stapler, viene impostata un'opzione XCI. Questa opzione può essere specificata nel modello di configurazione dall'elemento di base e viene utilizzata solo per le stampanti PS e PCL.
  • OutputJog : L'opzione XCI viene impostata quando le pagine di output devono essere bloccate (fisicamente spostate nel vassoio di output). Questa opzione è disponibile solo per le stampanti PS e PCL.
  • OutputBin : Valore XCI utilizzato per consentire al driver di stampa di selezionare il bin di output appropriato.
Per informazioni su tutte le opzioni di esecuzione che è possibile impostare, vedere il riferimento alla PrintedOutputOptionsSpec classe.
Recuperare un documento da stampare
Recuperare 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 lo supporta. Tuttavia, l'invio di un documento PDF a una stampante potrebbe causare un problema a causa del quale ogni produttore della stampante ha implementato in modo diverso l'interprete PDF. Alcuni produttori di stampa utilizzano l'interpretazione Adobe PDF, ma dipende dalla stampante. Altre stampanti dispongono di un interprete PDF specifico. Di conseguenza, i risultati della stampa possono variare.
Un altro limite all'invio di un documento PDF a una stampante è rappresentato dal fatto che viene stampato; non può accedere a duplex, selezione del vassoio carta e fascicolazione, ad eccezione delle impostazioni della stampante.
Per recuperare un documento da stampare, utilizzare il generatePrintedOutput metodo. La tabella seguente specifica i tipi di contenuto impostati per un dato flusso di stampa quando si utilizza il generatePrintedOutput metodo.
Formato di stampa
Descrizione
DPL
Crea un flusso di output xdpl203.xdc predefinito o personalizzato per impostazione predefinita.
DPL 300 DPI
Crea un flusso di output DPL 300 DPI.
DPL 406 DPI
Crea un flusso di output DPL 400 DPI.
DPL 600 DPI
Crea un flusso di output DPL 600 DPI.
GenericColorPCL
Crea un flusso di output PCL (5c) a colori generico.
GenericPSLevel3
Crea un flusso di output PostScript di livello 3 generico.
IPL
Crea un flusso di output IPL personalizzato.
IPL 300 DPI
Crea un flusso di output IPL 300 DPI.
IPL 400 DPI
Crea un flusso di output IPL 400 DPI.
PCL
Crea un flusso di output PCL (5e) monocromatico generico.
PostScript
Crea un flusso di output PostScript di livello 2 generico.
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 generatePrintedOutput2 metodo . Tuttavia, gli avvii rapidi associati alla sezione Invio di flussi di stampa alle stampanti utilizzano il generatePrintedOutput metodo.
Inviare il flusso di stampa a una stampante di rete
Dopo aver recuperato un documento da stampare, è possibile richiamare il servizio Output, che causa l'invio di un flusso di stampa a una stampante di rete. Affinché il servizio Output riesca a individuare 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 è in esecuzione in Windows Server 2008, non è possibile utilizzare la proprietà SharedPrinter. In questo caso, 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 Output (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Client di output
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Riferimento a un'origine dati XML
    • Creare un java.io.FileInputStream oggetto 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.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto.
  4. Impostazione delle opzioni di esecuzione della stampa
    Creare un PrintedOutputOptionsSpec oggetto che rappresenti le opzioni di esecuzione della stampa. Ad esempio, è possibile specificare il numero di copie da stampare richiamando il PrintedOutputOptionsSpec metodo dell'oggetto setCopies .
    Non è possibile impostare il valore dell'impaginazione utilizzando il metodo dell' PrintedOutputOptionsSpec oggetto setPagination se si sta generando un flusso di stampa ZPL. Analogamente, non è possibile impostare le seguenti opzioni per un flusso di stampa ZPL: OutputJog, PageOffset e Staple. Il setPagination metodo non è valido per la generazione PostScript. È valido solo per la generazione PCL.
  5. Recuperare un documento da stampare
    • Recuperare un documento da stampare richiamando il metodo dell' OutputClient oggetto generatePrintedOutput e passando i seguenti valori:
      • Un valore di PrintFormat enumerazione che specifica il flusso di stampa. Ad esempio, per creare un flusso di stampa PostScript, passare PrintFormat.PostScript .
      • Una stringa che specifica il nome della struttura del modulo.
      • Una stringa che specifica la posizione dei relativi file collaterali, ad esempio i file immagine.
      • Una stringa che specifica la posizione del file XDC da utilizzare.
      • L' PrintedOutputOptionsSpec oggetto che contiene le opzioni di esecuzione necessarie per la stampa su un file.
      • L' com.adobe.idp.Document oggetto che rappresenta l'origine dati XML contenente i dati del modulo da unire alla struttura del modulo.
      Questo metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
    • Creare un com.adobe.idp.Document oggetto da inviare alla stampante richiamando il OutputResult metodo ‘s getGeneratedDoc . Questo metodo restituisce un com.adobe.idp.Document oggetto.
  6. Inviare il flusso di stampa a una stampante di rete
    Inviare il flusso di stampa a una stampante di rete richiamando il metodo dell' OutputClient oggetto sendToPrinter e passando i seguenti valori:
    • Un com.adobe.idp.Document oggetto che rappresenta il flusso di stampa da inviare alla stampante.
    • Un valore di PrinterProtocol enumerazione che specifica il protocollo della stampante da utilizzare. Ad esempio, per specificare il protocollo SharedPrinter, passare PrinterProtocol.SharedPrinter .
    • Una stringa che specifica il nome del server di stampa. Ad esempio, se il nome del server di stampa è PrintServer1, passare \\\PrintSever1 .
    • Un valore di stringa che specifica il nome della stampante. Ad esempio, se il nome della stampante è Printer1, passare \\\PrintSever1\Printer1 .
    Il sendToPrinter metodo è stato aggiunto all’API AEM Forms nella versione 8.2.1.

Inviare un flusso di stampa a una stampante utilizzando l'API del servizio Web

Inviare un flusso di stampa a una stampante di rete utilizzando l'API Output (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di output.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Fare riferimento a un'origine dati XML.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare i dati del modulo.
    • Creare un System.IO.FileStream oggetto richiamandone il costruttore. Passa un valore di stringa che specifica la posizione del file XML che contiene i dati del modulo.
    • Creare un array di byte che memorizza il contenuto dell' System.IO.FileStream oggetto. Determinare la lunghezza dell'array di byte ottenendo la System.IO.FileStream proprietà dell' Length oggetto.
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream Read metodo dell'oggetto e passando l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l' BLOB oggetto assegnandone MTOM il campo con il contenuto dell'array di byte.
  4. Impostare le opzioni di esecuzione della stampa.
    Creare un PrintedOutputOptionsSpec oggetto utilizzando il relativo costruttore. Ad esempio, è possibile specificare il numero di copie da stampare assegnando un valore intero che rappresenta il numero di copie al membro PrintedOutputOptionsSpec dati dell' copies oggetto.
    Non è possibile impostare il valore di impaginazione utilizzando il membro dati dell' PrintedOutputOptionsSpec oggetto pagination se si sta generando un flusso di stampa ZPL. Analogamente, non è possibile impostare le seguenti opzioni per un flusso di stampa ZPL: OutputJog, PageOffset e Staple. Il membro pagination dati non è valido per la generazione PostScript. È valido solo per la generazione PCL.
  5. Recuperare un documento da stampare.
    • Recuperare un documento da stampare richiamando il metodo dell' OutputServiceService oggetto generatePrintedOutput e passando i seguenti valori:
      • Un valore di PrintFormat enumerazione che specifica il flusso di stampa. Ad esempio, per creare un flusso di stampa PostScript, passare PrintFormat.PostScript .
      • Una stringa che specifica il nome della struttura del modulo.
      • Una stringa che specifica la posizione dei relativi file collaterali, ad esempio i file immagine.
      • Una stringa che specifica la posizione del file XDC da utilizzare.
      • L' PrintedOutputOptionsSpec oggetto che contiene le opzioni di esecuzione della stampa utilizzate per inviare un flusso di stampa a una stampante di rete.
      • L' BLOB oggetto che contiene l'origine dati XML che contiene i dati del modulo.
      • Un BLOB oggetto popolato dal generatePrintedOutput metodo. Il generatePrintedOutput metodo popola l'oggetto con i metadati generati che descrivono il documento. Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
      • Un BLOB oggetto popolato dal generatePrintedOutput metodo. Il generatePrintedOutput metodo popola l'oggetto con i dati dei risultati. Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
      • Un OutputResult oggetto che contiene i risultati dell'operazione. Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
    • Creare un BLOB oggetto da inviare alla stampante ottenendo il valore del OutputResult metodo ‘s generatedDoc . Questo metodo restituisce un BLOB oggetto che contiene i dati PostScript restituiti dal generatePrintedOutput metodo.
  6. Inviare il flusso di stampa a una stampante di rete.
    Inviare il flusso di stampa a una stampante di rete richiamando il metodo dell' OutputClient oggetto sendToPrinter e passando i seguenti valori:
    • Un BLOB oggetto che rappresenta il flusso di stampa da inviare alla stampante.
    • Un valore di PrinterProtocol enumerazione che specifica il protocollo della stampante da utilizzare. Ad esempio, per specificare il protocollo SharedPrinter, passare PrinterProtocol.SharedPrinter .
    • Un bool valore che specifica se utilizzare il valore del parametro precedente. Passa il valore true . Questo valore di parametro è richiesto solo per la chiamata al servizio Web.
    • Una stringa che specifica il nome del server di stampa. Ad esempio, se il nome del server di stampa è PrintServer1, passare \\\PrintSever1 .
    • Un valore di stringa che specifica il nome della stampante. Ad esempio, se il nome della stampante è Printer1, passare \\\PrintSever1\Printer1 .
    Il sendToPrinter metodo è stato aggiunto all’API AEM Forms nella versione 8.2.1.

Creazione di più file di output

Il servizio Output può creare documenti separati per ciascun 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 informi il servizio Output di creare documenti PDF separati (o altri tipi di output) per ciascun record utilizzando l'API Output Service. Di conseguenza, il servizio Output genera dieci documenti PDF. Anziché creare documenti, è possibile inviare più flussi di stampa a una stampante.
Nell'illustrazione seguente è illustrato anche il servizio Output che elabora un file di dati XML contenente più record. Si supponga, tuttavia, di richiedere al servizio Output di creare un singolo documento PDF contenente tutti i record di dati. In questa situazione, il servizio Output genera un documento che contiene tutti i record.
Nell'illustrazione seguente è illustrato il servizio Output che elabora un file di dati XML contenente più record. Si supponga di indicare al servizio Output di creare un documento PDF separato per ciascun record di dati. In questa situazione, il servizio Output genera un documento PDF separato per ciascun record di dati.
I seguenti dati XML mostrano un esempio di un file di dati contenente 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>

Tenere presente che l'elemento XML che avvia e termina ogni record di dati è LoanRecord . A questo elemento XML fa riferimento la logica dell'applicazione che genera più file.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Riepilogo dei passaggi

Per creare più file PDF basati su un'origine dati XML, procedere come segue:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Fare riferimento a un'origine dati XML.
  4. Impostare le opzioni di esecuzione PDF.
  5. Impostare le opzioni di esecuzione del rendering.
  6. Generare più file PDF.
  7. Recuperare i risultati dell'operazione.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, è necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici del server applicazione J2EE in cui sono distribuiti i AEM Forms.
Creare un oggetto Client di output
Prima di eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzate l'API Java, create un OutputClient oggetto. Se si utilizza l'API del servizio Web Output, creare un OutputServiceService oggetto.
Riferimento a un'origine dati XML
Fare riferimento a un'origine dati XML che contiene più record. Per separare i record di dati è necessario utilizzare un elemento XML. Ad esempio, nell'origine dati XML di esempio visualizzata 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.
Impostazione delle opzioni di esecuzione PDF
Per creare correttamente più file basati su un'origine dati XML, è necessario impostare le seguenti opzioni di esecuzione per il servizio Output:
  • Molti file : Specifica se il servizio Output crea uno o più documenti. Potete specificare true o false. Per creare un documento separato per ciascun record di dati nell'origine dati XML, specificare true.
  • URI file: Specifica la posizione dei file generati dal servizio Output. Ad esempio, si supponga di specificare C:\\Adobe\forms\Loan.pdf. In questa situazione, il servizio Output crea un file denominato Loan.pdf e inserisce il file nella cartella C:\\Adobe\forms folder. In presenza di più file, i nomi dei file sono Loan0001.pdf, Loan0002.pdf, Loan0003.pdf e così via. Se si specifica un percorso di file, i file vengono inseriti sul server, non sul computer client.
  • Nome record: Specifica il nome dell'elemento XML nell'origine dati che separa i record di dati. Ad esempio, nell'origine dati XML di esempio visualizzata in precedenza in questa sezione, viene chiamato l'elemento XML che separa i record di dati LoanRecord . Anziché impostare l'opzione di runtime Nome record, potete impostare il livello di record assegnandogli un valore numerico che indica il livello dell'elemento che contiene i record di dati. Tuttavia, potete impostare solo il Nome record o il Livello record. Non è possibile impostare entrambi i valori.
Impostazione delle opzioni di esecuzione del rendering
Potete impostare le opzioni di esecuzione del rendering durante la creazione di più file. Sebbene queste opzioni non siano richieste (a differenza delle opzioni di esecuzione dell'output, che sono richieste), è possibile eseguire attività quali migliorare le 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 esecuzione. Se si imposta l'opzione di runtime Nome record, il servizio Output legge i dati in modo incrementale. Analogamente, se si imposta l'opzione di esecuzione del livello di record su 2 o superiore, il servizio Output legge i dati in modo incrementale.
È possibile controllare se il servizio Output esegue il caricamento incrementale utilizzando il PDFOutputOptionsSpec metodo dell' PrintedOutputOptionSpec oggetto o 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 che contiene più record di dati e aver impostato le opzioni di esecuzione, è possibile richiamare il servizio Output, generando così più file. Quando si generano più record, il metodo dell' OutputResult oggetto getGeneratedDoc restituisce null .
Recuperare i risultati dell'operazione
Dopo che il servizio Output ha eseguito un'operazione, restituisce dati XML che specificano se l'operazione ha avuto esito positivo. Il seguente codice XML viene restituito dal servizio Output. In questa situazione, il servizio 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

Creazione di più file PDF tramite l'API Java

Creare più file PDF utilizzando l'API di output (Java):
  1. Includi file di progetto"
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java. .
  2. Creare un oggetto Client di output
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Riferimento a un'origine dati XML
    • Creare un java.io.FileInputStream oggetto che rappresenta l'origine dati XML che contiene più record utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file XML.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto.
  4. Impostazione delle opzioni di esecuzione PDF
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostate l'opzione Molti file richiamando il PDFOutputOptionsSpec metodo dell' setGenerateManyFiles oggetto. Ad esempio, passare il valore true per indicare al servizio Output di creare un file PDF separato per ciascun record nell'origine dati XML. (Se si passa false il servizio Output genera un singolo documento PDF contenente tutti i record).
    • Impostare l'opzione URI del file richiamando il metodo dell' PDFOutputOptionsSpec oggetto setFileUri e passando un valore di stringa che specifica la posizione dei file generati dal servizio Output. L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
    • Impostare l'opzione Nome record richiamando il metodo dell' OutputOptionsSpec oggetto setRecordName e passando un valore di stringa che specifica il nome dell'elemento XML nell'origine dati che separa i record di dati. Ad esempio, si consideri l'origine dati XML mostrata in precedenza in questa sezione. Il nome dell'elemento XML che separa i record di dati è LoanRecord).
  5. Impostazione delle opzioni di esecuzione del rendering
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Memorizzare nella cache la struttura del modulo per migliorare le prestazioni del servizio Output richiamando l' RenderOptionsSpec oggetto setCacheEnabled e passando un Boolean valore di true .
  6. Generare più file PDF
    Generare più file PDF richiamando il metodo dell' OutputClient oggetto generatePDFOutput e passando i seguenti valori:
    • Un valore TransformationFormat enum. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' com.adobe.idp.Document oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    Il generatePDFOutput metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
  7. Recuperare i risultati dell'operazione
    • Creare un java.io.File oggetto che rappresenta un file XML che conterrà i risultati del generatePDFOutput metodo. Accertatevi che l’estensione del nome del file sia .xml.
    • Richiamare il metodo com.adobe.idp.Document dell'oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file (assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal applyUsageRights metodo).
Consulta anche

Creazione di più file PDF tramite l'API del servizio Web

Creare più file PDF utilizzando l'API di Output (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di output.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Fare riferimento a un'origine dati XML.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare i dati del modulo che contengono più record.
    • Creare un System.IO.FileStream oggetto richiamandone il costruttore. Passa un valore di stringa che rappresenta la posizione del file XML contenente più record.
    • Creare un array di byte che memorizza il contenuto dell' System.IO.FileStream oggetto. È possibile determinare la dimensione dell'array di byte ottenendo la proprietà dell' System.IO.FileStream oggetto Length .
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream Read metodo dell'oggetto e passando l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l' BLOB oggetto assegnandone MTOM il campo con il contenuto dell'array di byte.
  4. Impostare le opzioni di esecuzione PDF.
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione Molti file assegnando un valore booleano al membro dati dell' OutputOptionsSpec oggetto generateManyFiles . Ad esempio, assegnare il valore true a questo membro dati per indicare al servizio Output di creare un file PDF separato per ciascun record nell'origine dati XML. (Se si assegna false a questo membro dati, il servizio Output genera un singolo PDF contenente tutti i record).
    • Impostare l'opzione URI del file assegnando un valore di stringa che specifica la posizione dei file generati dal servizio Output al membro OutputOptionsSpec dati dell'oggetto fileURI . L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
    • Impostare l'opzione del nome del record assegnando un valore stringa che specifica il nome dell'elemento XML nell'origine dati che separa i record di dati dal membro OutputOptionsSpec dati dell' recordName oggetto.
    • Impostare l'opzione copie assegnando un valore intero che specifica il numero di copie generate dal servizio Output al membro dati dell' OutputOptionsSpec oggetto copies .
  5. Impostare le opzioni di esecuzione del rendering.
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Memorizzare nella cache la struttura del modulo per migliorare le prestazioni del servizio Output assegnando il valore true al membro RenderOptionsSpec dati dell' cacheEnabled oggetto.
  6. Generare più file PDF.
    Per creare più file PDF, richiamare il OutputServiceService generatePDFOutput metodo dell'oggetto e passare i seguenti valori:
    • Un valore enum TransformationFormat. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' BLOB oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i metadati generati che descrivono il documento.
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i dati dei risultati.
    • Un OutputResult oggetto che contiene i risultati dell'operazione.
  7. Recuperare i risultati dell'operazione
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Accertatevi che l’estensione del nome del file sia .xml.
    • Creare un array di byte che memorizza il contenuto dei dati dell' BLOB oggetto compilato con i dati dei risultati dal OutputServiceService metodo dell' generatePDFOutput oggetto (ottavo parametro). Compilare l'array di byte ottenendo il valore del membro BLOB dati dell' binaryData oggetto.
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte nel file XML richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
Consulta anche

Creazione di regole di ricerca

È possibile creare regole di ricerca che determinano l'esame dei dati di input da parte del servizio Output e l'utilizzo di strutture del modulo diverse in base al contenuto dei dati per generare l'output. Ad esempio, se il mutuo di testo si trova all'interno dei dati di input, il servizio Output può utilizzare una struttura del modulo denominata Mortgage.xdp. Allo stesso modo, se l' automobile di testo si trova nei dati di input, il servizio Output può utilizzare una struttura del modulo salvata come AutomobileLoan.xdp. Anche se il servizio Output può generare tipi di output diversi, questa sezione presuppone che il servizio Output generi un file PDF. Nel diagramma seguente è illustrato 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 nel set di dati vengono forniti più record, ogni record viene associato a una struttura del modulo e un singolo documento viene generato composto da più strutture del modulo.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Riepilogo dei passaggi

Per indicare al servizio Output di utilizzare le regole di ricerca durante la generazione di un documento, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Fare riferimento a un'origine dati XML.
  4. Definire le regole di ricerca.
  5. Impostare le opzioni di esecuzione PDF.
  6. Impostare le opzioni di esecuzione del rendering.
  7. Generare un documento PDF.
  8. Recuperare i risultati dell'operazione.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se state creando un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, sarà necessario sostituire adobe-utilities.jar e jbossall-client.jar con file JAR specifici per il server applicazione J2EE in cui sono distribuiti i AEM Forms.
Creare un oggetto Client di output
Prima di 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 in cui vengono visualizzati gli 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 Output nei dati di input. Per ciascun pattern di testo definito, è necessario specificare una struttura del modulo corrispondente utilizzata 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 è ipoteca .
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.
Impostazione delle opzioni di esecuzione PDF
Per consentire al servizio Output di creare correttamente un documento PDF basato su più strutture del modulo, impostare le seguenti opzioni di esecuzione PDF:
  • URI file: Specifica il nome e la posizione del file PDF generato dal servizio Output.
  • Regole : Specifica le regole definite dall'utente.
  • LookAHead : Specifica il numero di byte da utilizzare dall'inizio del file di dati di input per la ricerca dei pattern di testo definiti. Il valore predefinito è 500 byte.
Impostazione delle opzioni di esecuzione del rendering
Potete impostare le opzioni di esecuzione del rendering durante la creazione di file PDF. Sebbene queste opzioni non siano richieste (a differenza delle opzioni di esecuzione PDF), è possibile eseguire attività quali migliorare le prestazioni del servizio Output. Ad esempio, è possibile memorizzare nella cache la struttura del modulo utilizzata dal servizio Output per migliorare le prestazioni.
Generazione di 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 viene utilizzato un pattern di testo, il servizio Output utilizza la struttura del modulo predefinita.
Recuperare i risultati dell'operazione
Dopo che il servizio Output ha eseguito un'operazione, restituisce dati XML che specificano se l'operazione ha avuto esito positivo.
Consulta anche

Creare regole di ricerca utilizzando l'API Java

Create le regole di ricerca utilizzando l'API di output (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Client di output.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Fare riferimento a un'origine dati XML.
    • Creare un java.io.FileInputStream oggetto 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.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto.
  4. Definire le regole di ricerca.
    • Creare un Rule oggetto utilizzando il relativo costruttore.
    • Definire un pattern di testo richiamando il metodo dell' Rule oggetto setPattern e passando un valore di stringa che specifica un pattern di testo.
    • Definire la struttura del modulo corrispondente richiamando il Rule metodo setForm dell'oggetto. Passa un valore di stringa che specifica il nome della struttura del modulo.
    Per ciascun pattern di testo da definire, ripetere i tre passaggi secondari precedenti.
    • Creare un java.util.List oggetto utilizzando un java.util.ArrayList costruttore.
    • Per ogni Rule oggetto creato, richiamare il java.util.List metodo dell' add oggetto e passare l' Rule oggetto.
  5. Impostare le opzioni di esecuzione PDF.
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Specificare il nome e la posizione del file PDF generato dal servizio Output richiamando il PDFOutputOptionsSpec metodo dell' setFileURI oggetto. Passa un valore di stringa che specifica la posizione del file PDF. L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
    • Impostare le regole definite richiamando il PDFOutputOptionsSpec metodo dell' setRules oggetto. Passate l' java.util.List oggetto che contiene gli Rule oggetti.
    • Impostare il numero di byte per la ricerca dei pattern di testo definiti richiamando il PDFOutputOptionsSpec metodo dell' setLookAhead oggetto. Passa un valore intero che rappresenta i numeri di byte.
  6. Impostare le opzioni di esecuzione del rendering.
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Memorizzare nella cache la struttura del modulo per migliorare le prestazioni del servizio Output richiamando l' RenderOptionsSpec oggetto setCacheEnabled e passando true .
  7. Generare un documento PDF.
    Generare un documento PDF basato su più strutture del modulo richiamando il metodo dell' OutputClient oggetto generatePDFOutput e passando i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica il nome della struttura del modulo predefinita. ovvero la struttura del modulo utilizzata se non si trova un pattern di testo.
    • Una stringa che specifica il livello principale del contenuto in cui si trovano le strutture del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' com.adobe.idp.Document oggetto che contiene i dati del modulo ricercati dal servizio Output per individuare i pattern di testo definiti.
    Il generatePDFOutput metodo restituisce un OutputResult oggetto che contiene i risultati dell'operazione.
  8. Recuperare i risultati dell'operazione.
    • Creare un com.adobe.idp.Document oggetto che rappresenti lo stato del generatePDFOutput metodo richiamando il metodo dell' OutputResult oggetto getStatusDoc .
    • Creare un java.io.File oggetto che conterrà i risultati dell'operazione. Accertatevi che l’estensione del file sia .xml.
    • Richiamare il metodo com.adobe.idp.Document dell'oggetto copyToFile per copiare il contenuto dell' com.adobe.idp.Document oggetto nel file (assicurarsi di utilizzare l' com.adobe.idp.Document oggetto restituito dal getStatusDoc metodo).
Consulta anche

Creare regole di ricerca utilizzando l'API del servizio Web

Create le regole di ricerca utilizzando l'API di Output (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di output.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Fare riferimento a un'origine dati XML.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare i dati che verranno uniti al documento PDF.
    • Creare un System.IO.FileStream oggetto 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.
    • Creare un array di byte che memorizza il contenuto dell' System.IO.FileStream oggetto. È possibile determinare la dimensione dell'array di byte ottenendo la proprietà dell' System.IO.FileStream oggetto Length .
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream Read metodo dell'oggetto e passando l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l' BLOB oggetto assegnandone MTOM il campo con il contenuto dell'array di byte.
  4. Definire le regole di ricerca.
    • Creare un Rule oggetto utilizzando il relativo costruttore.
    • Definire un pattern di testo assegnando un valore di stringa che specifica un pattern di testo al membro Rule dati pattern dell'oggetto.
    • Definire la struttura del modulo corrispondente assegnando un valore stringa che specifica la struttura del modulo al membro Rule dati form dell'oggetto.
    Per ciascun pattern di testo da definire, ripetere i tre passaggi secondari precedenti.
    • Creare un MyArrayOf_xsd_anyType oggetto che memorizza le regole.
    • Assegnare ciascun Rule oggetto a un elemento dell' MyArrayOf_xsd_anyType array. Richiamare il metodo dell' MyArrayOf_xsd_anyType oggetto Add per ciascun Rule oggetto.
  5. Impostazione delle opzioni di esecuzione PDF
    • Creare un PDFOutputOptionsSpec oggetto utilizzando il relativo costruttore.
    • Impostare l'opzione URI del file assegnando un valore di stringa che specifica la posizione del file PDF generato dal servizio Output al membro PDFOutputOptionsSpec dati dell'oggetto fileURI . L'opzione URI file è relativa ai AEM Forms host del server applicazione J2EE, non del computer client.
    • Impostare l'opzione copie assegnando un valore intero che specifica il numero di copie generate dal servizio Output al membro dati dell' PDFOutputOptionsSpec oggetto copies .
    • Impostare le regole definite assegnando l' MyArrayOf_xsd_anyType oggetto che memorizza le regole al membro PDFOutputOptionsSpec dati dell' rules oggetto.
    • Impostare il numero di byte da analizzare per i pattern di testo definiti assegnando un valore intero che rappresenta i numeri di byte da analizzare al metodo di PDFOutputOptionsSpec dati dell'oggetto lookAhead .
  6. Impostazione delle opzioni di esecuzione del rendering
    • Creare un RenderOptionsSpec oggetto utilizzando il relativo costruttore.
    • Memorizzare nella cache la struttura del modulo per migliorare le prestazioni del servizio Output assegnando il valore true al membro RenderOptionsSpec dati dell' cacheEnabled oggetto.
    Non è possibile impostare la versione del documento PDF utilizzando il membro dell' RenderOptionsSpec oggetto pdfVersion se il documento di input è un modulo Acrobat. Nel documento PDF di output viene mantenuta la versione PDF del modulo Acrobat. Analogamente, non è possibile impostare l'opzione PDF con tag utilizzando il metodo dell' RenderOptionsSpec oggetto taggedPDF se il documento di input è un modulo Acrobat.
    Non è possibile impostare l'opzione PDF linearizzato utilizzando il membro dell' RenderOptionsSpec oggetto linearizedPDF se il documento PDF di input è certificato o firmato digitalmente. Per ulteriori informazioni, vedere Firma digitale di documenti PDF.
  7. Generazione di un documento PDF
    Creare un documento PDF richiamando il OutputServiceService generatePDFOutput metodo dell'oggetto e passando i seguenti valori:
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF, specificare TransformationFormat.PDF .
    • Una stringa che specifica il nome della struttura del modulo.
    • Una stringa che specifica il livello principale del contenuto in cui si trova la struttura del modulo.
    • Un PDFOutputOptionsSpec oggetto che contiene opzioni di esecuzione PDF.
    • Un RenderOptionsSpec oggetto che contiene le opzioni di esecuzione del rendering.
    • L' BLOB oggetto che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo.
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i metadati generati che descrivono il documento. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    • Un BLOB oggetto popolato dal generatePDFOutput metodo. Il generatePDFOutput metodo popola l'oggetto con i dati dei risultati. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    • Un OutputResult oggetto che contiene i risultati dell'operazione. (Questo valore di parametro è richiesto solo per la chiamata al servizio Web).
    Durante la generazione di un documento PDF richiamando il generatePDFOutput metodo, 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.
  8. Recuperare i risultati dell'operazione
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta un percorso di file XML contenente i dati dei risultati. Assicurarsi che l'estensione del file sia XML.
    • Creare un array di byte che memorizza il contenuto dei dati dell' BLOB oggetto compilato con i dati dei risultati dal OutputServiceService metodo dell' generatePDFOutput oggetto (ottavo parametro). Compilare l'array di byte ottenendo il valore del membro BLOB dati dell' MTOM oggetto.
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte nel file XML richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
Consulta anche

Conversione dei documenti PDF

È 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. Uno dei motivi per appiattire un documento PDF è garantire che i dati non possano essere modificati.
È possibile appiattire i seguenti tipi di documenti PDF:
  • Documenti PDF XFA interattivi
  • Acrobat Forms
Se si tenta di appiattire un PDF che è un documento PDF non interattivo, si verifica un'eccezione.
Per ulteriori informazioni sul servizio Output, vedere Riferimento servizi per i AEM Forms .

Riepilogo dei passaggi

Per convertire un documento PDF interattivo in un documento PDF non interattivo, effettuare le seguenti operazioni:
  1. Includere i file di progetto.
  2. Creare un oggetto Client di output.
  3. Recuperare un documento PDF interattivo.
  4. Trasforma il documento PDF.
  5. Salvare il documento PDF non interattivo come file PDF.
Includi file di progetto
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-output-client.jar
  • adobe-utilities.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
  • jbossall-client.jar (richiesto se i AEM Forms sono distribuiti su JBoss)
se i AEM Forms sono distribuiti su un server applicazione J2EE supportato che non è JBoss, è necessario sostituire i file adobe-utilities.jar e jbossall-client.jar con file JAR specifici del server applicazione J2EE in cui sono distribuiti i AEM Forms. Per informazioni sulla posizione di tutti i file JAR AEM Forms, vedere Inclusione di file libreria Java AEM Forms.
Creare un oggetto Client di output
Prima di eseguire un'operazione del servizio Output a livello di programmazione, è necessario creare un oggetto client del servizio Output. Se utilizzate l'API Java, create un OutputClient oggetto. Se si utilizza l'API del servizio Web Output, creare un OutputServiceService oggetto.
Recuperare un documento PDF interattivo
Recuperare un documento PDF interattivo da trasformare in un documento PDF non interattivo. Se si tenta di trasformare un documento PDF non interattivo, si verifica un'eccezione.
Trasformare 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

Appiattisci un documento PDF interattivo su un documento PDF non interattivo utilizzando l'API di output (Java):
  1. Includere i file di progetto.
    Includete file JAR client, ad esempio adobe-output-client.jar, nel percorso di classe del progetto Java.
  2. Creare un oggetto Client di output.
    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un OutputClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Recuperare un documento PDF interattivo.
    • Creare un java.io.FileInputStream oggetto che rappresenti il documento PDF interattivo da trasformare utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file PDF interattivo.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto.
  4. Trasforma il documento PDF.
    Trasformare il documento PDF interattivo in un documento PDF non interattivo richiamando il metodo dell' OutputServiceService oggetto transformPDF e passando i seguenti valori:
    • L' com.adobe.idp.Document oggetto che contiene il documento PDF interattivo.
    • Un valore TransformationFormat enum. Per generare un documento PDF non interattivo, specificare TransformationFormat.PDF .
    • Un valore PDFARevisionNumber enum che specifica il numero di revisione. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificarlo null .
    • Valore stringa che rappresenta il numero e l'anno della modifica, separati da due punti. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificarlo null .
    • Un valore PDFAConformance enum che rappresenta il livello di conformità PDF/A. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificarlo null .
    Il transformPDF metodo restituisce un com.adobe.idp.Document oggetto che contiene un documento PDF non interattivo.
  5. Salvare il documento PDF non interattivo come file PDF.
    • Create un java.io.File oggetto e accertatevi che l'estensione del nome del file sia .pdf.
    • Richiamare il metodo Document dell'oggetto copyToFile per copiare il contenuto dell' Document oggetto nel file (assicurarsi di utilizzare l' Document oggetto restituito dal transformPDF metodo).
Consulta anche

Appiattire un documento PDF utilizzando l'API del servizio Web

Appiattisci un documento PDF interattivo su un documento PDF non interattivo utilizzando l'API di Output (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server host AEM Forms.
  2. Creare un oggetto Client di output.
    • Creare un OutputServiceClient oggetto utilizzando il relativo costruttore predefinito.
    • Creare un OutputServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passa un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/OutputService?blob=mtom .) Non è necessario utilizzare l' lc_version attributo. Questo attributo viene utilizzato quando create un riferimento a un servizio. Tuttavia, specificate ?blob=mtom per utilizzare MTOM.
    • Creare un System.ServiceModel.BasicHttpBinding oggetto ottenendo il valore del OutputServiceClient.Endpoint.Binding campo. Inserite il valore restituito in BasicHttpBinding .
    • Impostare il campo System.ServiceModel.BasicHttpBinding dell' MessageEncoding oggetto su WSMessageEncoding.Mtom . Questo valore assicura che venga utilizzato MTOM.
    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:
      • Assegnare il nome utente dei moduli AEM al campo OutputServiceClient.ClientCredentials.UserName.UserName .
      • Assegnare il valore della password corrispondente al campo OutputServiceClient.ClientCredentials.UserName.Password .
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode .
  3. Recuperare un documento PDF interattivo.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare il documento PDF interattivo.
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF interattivo.
    • Creare un array di byte che memorizza il contenuto dell' System.IO.FileStream oggetto. È possibile determinare la dimensione dell'array di byte ottenendo la proprietà dell' System.IO.FileStream oggetto Length .
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream Read metodo dell'oggetto e passando l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l' BLOB oggetto assegnandone MTOM la proprietà con il contenuto dell'array di byte.
  4. Trasforma il documento PDF.
    Trasformare il documento PDF interattivo in un documento PDF non interattivo richiamando il metodo dell' OutputClient oggetto transformPDF e passando i seguenti valori:
    • Un BLOB oggetto che contiene il documento PDF interattivo.
    • Un valore TransformationFormat di enumerazione. Per generare un documento PDF non interattivo, specificare TransformationFormat.PDF .
    • Un valore PDFARevisionNumber enum che specifica il numero di revisione.
    • Un valore booleano che specifica se viene utilizzato il valore PDFARevisionNumber enum. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificarlo false .
    • Valore stringa che rappresenta il numero e l'anno della modifica, separati da due punti. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificarlo null .
    • Un valore PDFAConformance enum che rappresenta il livello di conformità PDF/A.
    • Valore booleano che specifica se viene utilizzato il valore PDFAConformance enum. Poiché questo parametro è destinato a un documento PDF/A, è possibile specificarlo false .
    Il transformPDF metodo restituisce un BLOB oggetto che contiene un documento PDF non interattivo.
  5. Salvare il documento PDF non interattivo come file PDF.
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento PDF non interattivo.
    • Creare un array di byte che memorizza il contenuto dei dati dell' BLOB oggetto restituito dal transformPDF metodo. Compilare l'array di byte ottenendo il valore del membro BLOB dati dell' MTOM oggetto.
    • Creare un System.IO.BinaryWriter oggetto richiamando il relativo costruttore e passando l' System.IO.FileStream oggetto.
    • Scrivere il contenuto dell'array di byte in un file PDF richiamando il metodo dell' System.IO.BinaryWriter oggetto Write e passando l'array di byte.
Consulta anche