Smontare un documento PDF utilizzando l’API del servizio Web

Esempi ed esempi in questo documento sono solo per AEM Forms in ambiente JEE.

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 PDF Assembler.

    • Crea un AssemblerServiceClient utilizzando il relativo costruttore predefinito.

    • Crea un AssemblerServiceClient.Endpoint.Address utilizzando System.ServiceModel.EndpointAddress costruttore. 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 il lc_version attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.

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

    • Imposta la System.ServiceModel.BasicHttpBinding dell’oggetto MessageEncoding campo a WSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM.

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

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

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

    • Crea un BLOB utilizzando il relativo costruttore. La BLOB viene utilizzato per memorizzare il documento di input PDF. Questo BLOB viene passato all'oggetto invokeOneDocument come argomento.
    • Crea un System.IO.FileStream richiamando il relativo costruttore e passando un valore di stringa che rappresenta la posizione del file del documento di input PDF e la modalità di apertura del file.
    • Creare un array di byte che memorizza il contenuto del System.IO.FileStream oggetto. È possibile determinare le dimensioni dell'array di byte ottenendo il System.IO.FileStream dell’oggetto Length proprietà.
    • Compilare l'array di byte con i dati del flusso richiamando il System.IO.FileStream dell’oggetto Read e passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere.
    • Popolare BLOB oggetto assegnando il relativo MTOM il contenuto dell'array di byte.
    • Crea un MyMapOf_xsd_string_To_xsd_anyType oggetto. Questo oggetto raccolta viene utilizzato per memorizzare PDF da smontare.
    • Crea un MyMapOf_xsd_string_To_xsd_anyType_Item oggetto.
    • Assegna un valore stringa che rappresenta il nome della chiave al MyMapOf_xsd_string_To_xsd_anyType_Item dell’oggetto key campo . Questo valore deve corrispondere al valore dell'elemento di origine PDF specificato nel documento DDX.
    • Assegna BLOB oggetto che memorizza il documento PDF nella MyMapOf_xsd_string_To_xsd_anyType_Item dell’oggetto value campo .
    • Aggiungi il MyMapOf_xsd_string_To_xsd_anyType_Item dell'oggetto MyMapOf_xsd_string_To_xsd_anyType oggetto. Richiama il MyMapOf_xsd_string_To_xsd_anyType oggetto" Add e passare il MyMapOf_xsd_string_To_xsd_anyType oggetto.
  5. Impostare le opzioni di esecuzione.

    • Crea un AssemblerOptionSpec oggetto 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 che appartiene al AssemblerOptionSpec oggetto. Ad esempio, per dare istruzioni al servizio Assembler di continuare a elaborare un processo quando si verifica un errore, assegnare false al AssemblerOptionSpec dell’oggetto failOnError campo .
  6. Smontare il documento PDF.

    Richiama il AssemblerServiceClient dell’oggetto invokeDDX e passare i seguenti valori:

    • A BLOB oggetto che rappresenta il documento DDX che smonta il documento PDF
    • La MyMapOf_xsd_string_To_xsd_anyType oggetto contenente il documento PDF da smontare
    • Un AssemblerOptionSpec oggetto che specifica le opzioni di esecuzione

    La invokeDDX restituisce un AssemblerResult oggetto 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 AssemblerResult dell’oggetto documents un campo Map oggetto contenente i documenti PDF smontati.
    • Itera attraverso il Map per ottenere ogni documento risultante. Quindi, eseguire il cast del membro dell'array value a BLOB.
    • Estrarre i dati binari che rappresentano il documento PDF accedendo ai relativi BLOB dell’oggetto MTOM proprietà. 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