Smontare un documento PDF utilizzando l'API del servizio Web

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

  1. Includi file di progetto.

    Creare un progetto Microsoft .NET che utilizza MTOM. Quando imposti un riferimento a un servizio, assicurati di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.

    NOTA

    Sostituisci localhost con l'indirizzo IP del server che ospita AEM Forms.

  2. Creare un client Assembler PDF.

    • 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.

    • Crea un oggetto System.ServiceModel.BasicHttpBinding ottenendo il valore del campo AssemblerServiceClient.Endpoint.Binding . Imposta il valore restituito su BasicHttpBinding.

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

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

      • Assegna il nome utente del modulo di AEM al campo AssemblerServiceClient.ClientCredentials.UserName.UserName.
      • Assegna il valore della password corrispondente al campo AssemblerServiceClient.ClientCredentials.UserName.Password.
      • Assegna il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • Assegna il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode.
  3. Fai riferimento a un documento DDX esistente.

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

    • Creare un oggetto BLOB utilizzando il relativo costruttore. L'oggetto BLOB viene utilizzato per memorizzare il documento PDF di input. Questo oggetto BLOB viene passato a invokeOneDocument come argomento.
    • Creare un oggetto System.IO.FileStream 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 una matrice di byte che memorizza il contenuto dell'oggetto System.IO.FileStream. È possibile determinare le dimensioni dell'array di byte ottenendo la proprietà Length dell'oggetto System.IO.FileStream.
    • Compilare l’array di byte con i dati del flusso richiamando il metodo Read dell’oggetto System.IO.FileStream e passando l’array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Compilare l'oggetto BLOB assegnando al relativo campo MTOM il contenuto dell'array di byte.
    • Creare un oggetto MyMapOf_xsd_string_To_xsd_anyType. Questo oggetto raccolta viene utilizzato per memorizzare il PDF da sassemblare.
    • Creare un oggetto MyMapOf_xsd_string_To_xsd_anyType_Item.
    • Assegna 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 nel campo MyMapOf_xsd_string_To_xsd_anyType_Item dell'oggetto value.
    • Aggiungere l'oggetto MyMapOf_xsd_string_To_xsd_anyType_Item all'oggetto MyMapOf_xsd_string_To_xsd_anyType. Richiamare il metodo MyMapOf_xsd_string_To_xsd_anyType object’ Add e passare l’oggetto MyMapOf_xsd_string_To_xsd_anyType .
  5. Impostare le opzioni di esecuzione.

    • Creare un oggetto AssemblerOptionSpec che memorizza le opzioni di esecuzione utilizzando il relativo costruttore.
    • Impostare le opzioni di esecuzione per soddisfare i requisiti aziendali assegnando un valore a un membro dati appartenente all'oggetto AssemblerOptionSpec. Ad esempio, per dare istruzioni al servizio Assembler di continuare a elaborare un processo in caso di errore, assegna false al campo AssemblerOptionSpec dell'oggetto failOnError.
  6. Smontare il documento PDF.

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

    • Un oggetto BLOB che rappresenta il documento DDX che smonta il documento PDF
    • L'oggetto MyMapOf_xsd_string_To_xsd_anyType che contiene il documento PDF da smontare
    • Un oggetto AssemblerOptionSpec che specifica le opzioni di esecuzione

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

  7. Salvare i documenti PDF smontati.

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

    • Accedere al campo documents dell'oggetto AssemblerResult, che è un oggetto Map che contiene i documenti PDF smontati.
    • Iterare attraverso l'oggetto Map per ottenere ogni documento risultante. Quindi, eseguire il cast di value del membro della matrice su un BLOB.
    • Estrarre i dati binari che rappresentano il documento PDF accedendo alla proprietà MTOM dell’oggetto BLOB corrispondente. Restituisce una matrice di byte che è possibile scrivere in un file PDF.

Consulta anche

Smontaggio programmatico dei documenti PDF

Richiamo di AEM Forms tramite MTOM

In questa pagina