Determinazione Della Conformità Dei Documenti Con PDF/A

È possibile determinare se un documento PDF è conforme allo standard PDF/A utilizzando il servizio Assembler. Un documento PDF/A esiste come formato di archiviazione per la conservazione a lungo termine del contenuto del documento. I font vengono incorporati nel documento 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.

La specifica PDF/A-1 è costituita da due livelli di conformità, ossia A e B. La differenza principale tra i due livelli è rappresentata dal supporto della struttura logica (accessibilità), che non è richiesto per il livello di conformità B. Indipendentemente dal livello di conformità, PDF/A-1 stabilisce che tutti i font sono incorporati nel documento PDF/A generato. Al momento, è supportato solo PDF/A-1b per la convalida (e la conversione).

Ai fini di questa discussione, si supponga di utilizzare il seguente documento DDX.

 <?xml version="1.0" encoding="UTF-8"?>
 <DDX xmlns="https://ns.adobe.com/DDX/1.0/">
         <DocumentInformation source="Loan.pdf" result="Loan_result.xml">
         <PDFAValidation compliance="PDF/A-1b" resultLevel="Detailed"                       ignoreUnusedResources="true" allowCertificationSignatures="true" />
     </DocumentInformation>
 </DDX>

In questo documento DDX, l' DocumentInformation elemento indica al servizio Assembler di restituire informazioni sul documento PDF di input. All'interno dell' DocumentInformation elemento, l' PDFAValidation elemento indica al servizio Assembler se il documento PDF di input è conforme allo standard PDF/A.

Il servizio Assembler restituisce informazioni che specificano se il documento PDF di input è conforme allo standard PDF/A in un documento XML contenente un PDFAConformance elemento. Se il documento PDF di input è conforme allo standard PDF/A, il valore dell' PDFAConformance attributo dell' isCompliant elemento è true. Se il documento PDF non è conforme allo standard PDF/A, il valore dell' PDFAConformance attributo dell' isCompliant elemento è false.

Nota

Poiché il documento DDX specificato in questa sezione contiene un DocumentInformation elemento, il servizio Assembler restituisce dati XML anziché un documento PDF. In altre parole, il servizio Assembler non assembla né smonta un documento PDF; restituisce informazioni sul documento PDF di input all'interno di un documento XML.

Nota

Per ulteriori informazioni sul servizio Assembler, vedere Riferimento servizi per i AEM Forms.

Nota

Per ulteriori informazioni su un documento DDX, vedere Servizio Assembler e RiferimentoDDX.

Riepilogo dei passaggi

Per determinare se un documento PDF è conforme allo standard PDF/A, effettuare le seguenti operazioni:

  1. Includere i file di progetto.
  2. Creare un client Assembler PDF.
  3. Fare riferimento a un documento DDX esistente.
  4. Fare riferimento a un documento PDF utilizzato per determinare la conformità PDF/A.
  5. Impostare le opzioni di esecuzione.
  6. Recuperare informazioni sul documento PDF.
  7. Salvare il documento XML restituito.

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-assembler-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 diverso da 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 filelibreria Java AEM Forms.

Creare un client Assembler PDF

Prima di eseguire un'operazione Assembler a livello di programmazione, è necessario creare un client di servizio Assembler.

Riferimento a un documento DDX esistente

Per eseguire un'operazione del servizio Assembler, è necessario fare riferimento a un documento DDX. Per determinare se un documento PDF di input è conforme allo standard PDF/A, assicurarsi che il documento DDX contenga l' PDFAValidation elemento all'interno di un DocumentInformation elemento. L' PDFAValidation elemento indica al servizio Assembler di restituire un documento XML che specifica se il documento PDF di input è conforme allo standard PDF/A.

Riferimento a un documento PDF utilizzato per determinare la conformità PDF/A

Per determinare se il documento PDF è conforme allo standard PDF/A, è necessario fare riferimento a un documento PDF e passarlo al servizio Assembler.

Impostazione delle opzioni di esecuzione

È possibile impostare opzioni di esecuzione che controllano il comportamento del servizio Assembler mentre esegue un processo. Ad esempio, potete impostare un'opzione che indichi al servizio Assembler di continuare l'elaborazione di un processo in caso di errore. Per informazioni sulle opzioni di esecuzione che è possibile impostare, vedere il riferimento alla AssemblerOptionSpec classe in Riferimento API per AEM Forms.

Recupero di informazioni sul documento PDF

Dopo aver creato il client del servizio Assembler, fatto riferimento al documento DDX, fatto riferimento a un documento PDF interattivo e impostato le opzioni di esecuzione, è possibile richiamare l' invokeDDX operazione. Poiché il documento DDX contiene l' DocumentInformation elemento, il servizio Assembler restituisce dati XML invece di un documento PDF.

Salvare il documento XML restituito

Il documento XML restituito dal servizio Assembler specifica se il documento PDF di input è conforme allo standard PDF/A. Ad esempio, se il documento PDF di input non è conforme allo standard PDF/A, il servizio Assembler restituisce un documento XML contenente il seguente elemento:

 <PDFAConformance isCompliant="false" compliance="PDF/A-1b" resultLevel="Detailed" ignoreUnusedResources="true" allowCertificationSignatures="true">

Salvare il documento XML come file XML in modo da poter aprire il file e visualizzare i risultati.

Consulta anche

Determinare se un documento è conforme allo standard PDF/A tramite l'API Java

Determinare se un documento è conforme allo standard PDF/A utilizzando l'API del servizio Web

Inclusione di file libreria Java AEM Forms

Impostazione delle proprietà di connessione

Assemblaggio di documenti PDF a livello di programmazione

Determinare se un documento è conforme allo standard PDF/A tramite l'API Java

Determinare se un documento PDF è conforme allo standard PDF/A utilizzando l'API di Assembler Service (Java):

  1. Includere i file di progetto.

    Includete file JAR client, ad esempio adobe-assembler-client.jar, nel percorso di classe del progetto Java.

  2. Creare un client Assembler PDF.

    • Creare un ServiceClientFactory oggetto che contenga proprietà di connessione.
    • Creare un AssemblerServiceClient oggetto utilizzando il relativo costruttore e passando l' ServiceClientFactory oggetto.
  3. Fare riferimento a un documento DDX esistente.

    • Creare un java.io.FileInputStream oggetto che rappresenta il documento DDX utilizzando il relativo costruttore e passando un valore di stringa che specifica la posizione del file DDX. Per determinare se il documento PDF è conforme allo standard PDF/A, assicurarsi che il documento DDX contenga l' PDFAValidation elemento contenuto all'interno di un DocumentInformation elemento.
    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto.
  4. Fare riferimento a un documento PDF utilizzato per determinare la conformità PDF/A.

    • Creare un java.io.FileInputStream oggetto utilizzando il relativo costruttore e passando la posizione di un documento PDF utilizzato per determinare la conformità PDF/A.

    • Creare un com.adobe.idp.Document oggetto utilizzando il relativo costruttore e passando l' java.io.FileInputStream oggetto che contiene il documento PDF.

    • Creare un oggetto java.util.Map utilizzato per memorizzare il documento PDF di input utilizzando un HashMap costruttore.

    • Aggiungere una voce all' java.util.Map oggetto richiamandone il put metodo e passando gli argomenti seguenti:

      • Un valore di stringa che rappresenta il nome della chiave. Questo valore deve corrispondere al valore dell'elemento di origine specificato nel documento DDX. Ad esempio, il valore dell'elemento di origine presente nel documento DDX introdotto in questa sezione è Loan.pdf.
      • Un com.adobe.idp.Document oggetto che contiene il documento PDF di input.
  5. Impostare le opzioni di esecuzione.

    • Creare un AssemblerOptionSpec oggetto che memorizza le opzioni di esecuzione utilizzando il relativo costruttore.
    • Impostate le opzioni di runtime per soddisfare i requisiti aziendali richiamando un metodo che appartiene all' AssemblerOptionSpec oggetto. Ad esempio, per indicare al servizio Assembler di continuare a elaborare un processo quando si verifica un errore, richiamare il metodo dell' AssemblerOptionSpec oggetto setFailOnError e passare false.
  6. Recuperare informazioni sul documento PDF.

    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 il file PDF di input utilizzato per determinare la conformità PDF/A
    • Un com.adobe.livecycle.assembler.client.AssemblerOptionSpec oggetto che specifica le opzioni di esecuzione

    Il invokeDDX metodo restituisce un com.adobe.livecycle.assembler.client.AssemblerResult oggetto contenente dati XML che specifica se il documento PDF di input è conforme allo standard PDF/A.

  7. Salvare il documento XML restituito.

    Per ottenere dati XML che specificano se il documento PDF di input è un documento PDF/A, effettuare le seguenti operazioni:

    • Richiama il metodo dell’ AssemblerResult oggetto getDocuments . Questo 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 XML. Assicurarsi di salvare i dati XML come file XML.

Consulta anche

Avvio rapido (modalità SOAP): Determinazione della conformità di un documento PDF/A tramite l'API Java (modalità SOAP)

Inclusione di file libreria Java AEM Forms

Impostazione delle proprietà di connessione

Determinare se un documento è conforme allo standard PDF/A utilizzando l'API del servizio Web

Determinare se un documento PDF è conforme allo standard PDF/A utilizzando l'API di Assembler Service (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/AssemblerService?WSDL&lc_version=9.0.1.

    Nota

    Sostituire localhost con l'indirizzo IP del server host AEM Forms.

  2. Creare un client Assembler PDF.

    • Creare un AssemblerServiceClient oggetto utilizzando il relativo costruttore predefinito.

    • Creare un AssemblerServiceClient.Endpoint.Address oggetto utilizzando il System.ServiceModel.EndpointAddress costruttore. Passate un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/AssemblerService?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 AssemblerServiceClient.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 AssemblerServiceClient.ClientCredentials.UserName.UserName.
      • Assegnare il valore della password corrispondente al campo AssemblerServiceClient.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 documento DDX esistente.

    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare il documento DDX.
    • Creare un System.IO.FileStream oggetto richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento DDX e la modalità in cui aprire il 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. Fare riferimento a un documento PDF utilizzato per determinare la conformità PDF/A.

    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare il documento PDF di input.
    • 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 di input 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 la proprietà con il contenuto dell'array di byte.
    • Create a MyMapOf_xsd_string_To_xsd_anyType object. Questo oggetto raccolta viene utilizzato per memorizzare il documento PDF.
    • Create a MyMapOf_xsd_string_To_xsd_anyType_Item object.
    • Assegnare un valore di stringa che rappresenta il nome chiave al campo dell' MyMapOf_xsd_string_To_xsd_anyType_Item oggetto key . Questo valore deve corrispondere al valore dell'elemento di origine PDF specificato nel documento DDX.
    • Assegnare l' BLOB oggetto che memorizza il documento PDF nel campo dell' MyMapOf_xsd_string_To_xsd_anyType_Item oggetto value .
    • Aggiungere l' MyMapOf_xsd_string_To_xsd_anyType_Item oggetto all' MyMapOf_xsd_string_To_xsd_anyType oggetto. Richiamare il metodo MyMapOf_xsd_string_To_xsd_anyType dell'oggetto Add e passare l' MyMapOf_xsd_string_To_xsd_anyType oggetto.
  5. Impostare le opzioni di esecuzione.

    • Creare un AssemblerOptionSpec oggetto che memorizza le opzioni di esecuzione utilizzando il relativo costruttore.
    • Impostare le opzioni di runtime per soddisfare i requisiti aziendali assegnando un valore a un membro di dati che appartiene all' AssemblerOptionSpec oggetto. Ad esempio, per indicare al servizio Assembler di continuare l'elaborazione di un processo in caso di errore, assegnare false al membro AssemblerOptionSpec dati dell' failOnError oggetto.
  6. Recuperare informazioni sul documento PDF.

    Richiama il metodo dell’ AssemblerServiceService oggetto invoke e passa i seguenti valori:

    • Un BLOB oggetto che rappresenta il documento DDX.
    • L' MyMapOf_xsd_string_To_xsd_anyType oggetto che contiene il documento PDF di input. Le chiavi devono corrispondere ai nomi dei file sorgente PDF e i relativi valori devono essere l' BLOB oggetto che corrisponde al file PDF di input.
    • Un AssemblerOptionSpec oggetto che specifica le opzioni di esecuzione.

    Il invoke metodo restituisce un AssemblerResult oggetto contenente dati XML che specifica se il documento PDF di input è un documento PDF/A.

  7. Salvare il documento XML restituito.

    Per ottenere dati XML che specificano se il documento PDF di input è un documento PDF/A, effettuare le seguenti operazioni:

    • Accedere al campo dell' AssemblerResult oggetto documents , ovvero un Map oggetto che contiene i dati XML che specifica se il documento PDF di input è un documento PDF/A.
    • Eseguire un'iterazione sull' Map oggetto per ottenere ogni documento risultante. Quindi, proiettare il valore del membro dell'array su un BLOB.
    • Estrarre i dati binari che rappresentano i dati XML accedendo al campo BLOB dell'oggetto MTOM . Questo campo memorizza un array di byte che è possibile scrivere come file XML.

Consulta anche

Chiamata di AEM Forms mediante MTOM

In questa pagina