Disassemblare un documento PDF utilizzando l’API del servizio web disassemble-a-pdf-document-usingthe-web-service-api

Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente JEE.

Disassemblare un documento PDF utilizzando l'API del servizio Assembler (servizio Web):

  1. Includi file di progetto.

    Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL durante l'impostazione di un riferimento al servizio: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.

    note note
    NOTE
    Sostituisci localhost con l'indirizzo IP del server che ospita AEM Forms.
  2. Creare un client PDF Assembler.

    • Creare un oggetto AssemblerServiceClient utilizzando il relativo costruttore predefinito.

    • Creare un oggetto AssemblerServiceClient.Endpoint.Address utilizzando il costruttore System.ServiceModel.EndpointAddress. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/AssemblerService?blob=mtom). Non è necessario utilizzare l'attributo lc_version. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.

    • Creare un oggetto System.ServiceModel.BasicHttpBinding ottenendo il valore del campo AssemblerServiceClient.Endpoint.Binding. Eseguire il cast del valore restituito in BasicHttpBinding.

    • Impostare il campo MessageEncoding dell'oggetto System.ServiceModel.BasicHttpBinding su WSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM.

    • Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:

      • 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 oggetto BLOB utilizzando il relativo costruttore. L'oggetto BLOB viene utilizzato per archiviare il documento DDX.
    • Creare un oggetto System.IO.FileStream richiamando il relativo costruttore. Passa un valore stringa che rappresenta la posizione del file del documento DDX e la modalità di apertura del file.
    • Creare una matrice di byte che memorizza il contenuto dell'oggetto System.IO.FileStream. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietà Length dell'oggetto System.IO.FileStream.
    • Compilare la matrice di byte con i dati di flusso richiamando il metodo Read dell'oggetto System.IO.FileStream e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l'oggetto BLOB assegnando la relativa proprietà MTOM al contenuto della matrice di byte.
  4. Fare riferimento a un documento PDF da disassemblare.

    • Creare un oggetto BLOB utilizzando il relativo costruttore. L'oggetto BLOB viene utilizzato per memorizzare il documento PDF di input. Questo oggetto BLOB è passato a invokeOneDocument come argomento.
    • Creare un oggetto System.IO.FileStream richiamandone il costruttore e passando un valore stringa che rappresenta la posizione del file del documento PDF di input e la modalità di apertura del file.
    • Creare una matrice di byte che memorizza il contenuto dell'oggetto System.IO.FileStream. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietà Length dell'oggetto System.IO.FileStream.
    • Compilare la matrice di byte con i dati di flusso richiamando il metodo Read dell'oggetto System.IO.FileStream e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l'oggetto BLOB assegnando al relativo campo MTOM il contenuto della matrice di byte.
    • Creare un oggetto MyMapOf_xsd_string_To_xsd_anyType. Questo oggetto insieme viene utilizzato per memorizzare il PDF da disassemblare.
    • Creare un oggetto MyMapOf_xsd_string_To_xsd_anyType_Item.
    • Assegnare un valore stringa che rappresenta il nome chiave al campo key dell'oggetto MyMapOf_xsd_string_To_xsd_anyType_Item. Questo valore deve corrispondere al valore dell'elemento di origine PDF specificato nel documento DDX.
    • Assegnare l'oggetto BLOB che memorizza il documento PDF al campo value dell'oggetto MyMapOf_xsd_string_To_xsd_anyType_Item.
    • Aggiungere l'oggetto MyMapOf_xsd_string_To_xsd_anyType_Item all'oggetto MyMapOf_xsd_string_To_xsd_anyType. Richiama il metodo Add dell'oggetto MyMapOf_xsd_string_To_xsd_anyType e passa l'oggetto MyMapOf_xsd_string_To_xsd_anyType.
  5. Impostare le opzioni di runtime.

    • Creare un oggetto AssemblerOptionSpec che memorizza le opzioni di runtime utilizzando il relativo costruttore.
    • Impostare le opzioni di runtime per soddisfare i requisiti aziendali assegnando un valore a un membro dati che appartiene all'oggetto AssemblerOptionSpec. Ad esempio, per indicare al servizio Assembler di continuare a elaborare un processo quando si verifica un errore, assegnare false al campo failOnError dell'oggetto AssemblerOptionSpec.
  6. Disassemblare il documento PDF.

    Richiama il metodo invokeDDX dell'oggetto AssemblerServiceClient e passa i seguenti valori:

    • Oggetto BLOB che rappresenta il documento DDX che disassembla il documento PDF
    • L'oggetto MyMapOf_xsd_string_To_xsd_anyType che contiene il documento PDF da disassemblare
    • Oggetto AssemblerOptionSpec che specifica le opzioni di runtime

    Il metodo invokeDDX restituisce un oggetto AssemblerResult contenente i risultati del processo ed eventuali eccezioni.

  7. Salvare i documenti PDF disassemblati.

    Per ottenere i documenti di PDF appena creati, effettuare le seguenti operazioni:

    • Accedere al campo documents dell'oggetto AssemblerResult, che è un oggetto Map contenente i documenti PDF disassemblati.
    • Scorrere l'oggetto Map per ottenere ogni documento risultante. Quindi, esegui il cast di value del membro dell'array in un BLOB.
    • Estrarre i dati binari che rappresentano il documento PDF accedendo alla proprietà MTOM dell'oggetto BLOB. Restituisce una matrice di byte che è possibile scrivere in un file PDF.

Consulta anche

Disassemblaggio di documenti PDF a livello di programmazione

Richiamare AEM Forms tramite MTOM

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2