Show Menu
ARGOMENTI×

Smontare un documento PDF utilizzando l'API del servizio Web

Smontare un documento PDF utilizzando l'API Assembler Service (servizio Web):
  1. Includere i file di progetto.
    Creare un progetto Microsoft .NET che utilizza MTOM. Quando imposti un riferimento a un servizio, accertatevi di utilizzare la seguente definizione WSDL: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1 .
    Sostituire localhost con l'indirizzo IP del server in cui è installato 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. Passa 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 richiamandone il costruttore. Passa 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 la proprietà con il contenuto dell'array di byte.
  4. Fare riferimento a un documento PDF per smontare.
    • Creare un BLOB oggetto utilizzando il relativo costruttore. L' BLOB oggetto viene utilizzato per memorizzare il documento PDF di input. Questo BLOB oggetto viene passato all'oggetto invokeOneDocument come argomento.
    • 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 assegnando al relativo MTOM campo il contenuto dell'array di byte.
    • Create a MyMapOf_xsd_string_To_xsd_anyType object. Questo oggetto raccolta viene utilizzato per memorizzare il PDF per la scomposizione.
    • 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 dell’ MyMapOf_xsd_string_To_xsd_anyType 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 appartenente all' AssemblerOptionSpec oggetto. Ad esempio, per indicare al servizio Assembler di continuare a elaborare un processo in caso di errore, assegnare false al campo dell' AssemblerOptionSpec oggetto failOnError .
  6. Smontare il documento PDF.
    Richiama il metodo dell’ AssemblerServiceClient oggetto invokeDDX e passa i seguenti valori:
    • Un BLOB oggetto che rappresenta il documento DDX che smonta il documento PDF
    • L' MyMapOf_xsd_string_To_xsd_anyType oggetto che contiene il documento PDF da smontare
    • 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.
  7. Salvare i documenti PDF smontati.
    Per ottenere i documenti PDF appena creati, effettuare le seguenti operazioni:
    • Accedere al campo dell' AssemblerResult oggetto documents , ovvero un Map oggetto che contiene i documenti PDF smontati.
    • Eseguire un'iterazione sull' Map oggetto per ottenere ogni documento risultante. Quindi, inserite il membro dell'array value in un BLOB .
    • Estrarre i dati binari che rappresentano il documento PDF accedendo alla BLOB proprietà dell' MTOM oggetto. Questo restituisce un array di byte che è possibile scrivere in un file PDF.
Consulta anche