Smontare un documento PDF utilizzando l’API del servizio Web disassemble-a-pdf-document-usingthe-web-service-api
Smontare un documento PDF utilizzando l'API del servizio Assembler (servizio Web):
-
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.note note NOTE Sostituisci localhostcon l’indirizzo IP del server che ospita AEM Forms. -
Creare un client PDF Assembler.
-
Crea un
AssemblerServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
AssemblerServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. 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 illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delAssemblerServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.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.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Fai riferimento a un documento DDX esistente.
- Crea un
BLOButilizzando il relativo costruttore. LaBLOBviene utilizzato per memorizzare il documento DDX. - Crea un
System.IO.FileStreamrichiamando 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.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBoggetto assegnando il relativoMTOMcon il contenuto dell'array di byte.
- Crea un
-
Fare riferimento a un documento PDF per smontare.
- Crea un
BLOButilizzando il relativo costruttore. LaBLOBviene utilizzato per memorizzare il documento di input PDF. QuestoBLOBviene passato all'oggettoinvokeOneDocumentcome argomento. - Crea un
System.IO.FileStreamrichiamando 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.FileStreamoggetto. È possibile determinare le dimensioni dell'array di byte ottenendo ilSystem.IO.FileStreamdell’oggettoLengthproprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStreamdell’oggettoReade passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOBoggetto assegnando il relativoMTOMil contenuto dell'array di byte. - Crea un
MyMapOf_xsd_string_To_xsd_anyTypeoggetto. Questo oggetto raccolta viene utilizzato per memorizzare PDF da smontare. - Crea un
MyMapOf_xsd_string_To_xsd_anyType_Itemoggetto. - Assegna un valore stringa che rappresenta il nome della chiave al
MyMapOf_xsd_string_To_xsd_anyType_Itemdell’oggettokeycampo . Questo valore deve corrispondere al valore dell'elemento di origine PDF specificato nel documento DDX. - Assegna
BLOBoggetto che memorizza il documento PDF nellaMyMapOf_xsd_string_To_xsd_anyType_Itemdell’oggettovaluecampo . - Aggiungi il
MyMapOf_xsd_string_To_xsd_anyType_Itemdell'oggettoMyMapOf_xsd_string_To_xsd_anyTypeoggetto. Richiama ilMyMapOf_xsd_string_To_xsd_anyTypeoggetto"Adde passare ilMyMapOf_xsd_string_To_xsd_anyTypeoggetto.
- Crea un
-
Impostare le opzioni di esecuzione.
- Crea un
AssemblerOptionSpecoggetto 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
AssemblerOptionSpecoggetto. Ad esempio, per dare istruzioni al servizio Assembler di continuare a elaborare un processo quando si verifica un errore, assegnarefalsealAssemblerOptionSpecdell’oggettofailOnErrorcampo .
- Crea un
-
Smontare il documento PDF.
Richiama il
AssemblerServiceClientdell’oggettoinvokeDDXe passare i seguenti valori:- A
BLOBoggetto che rappresenta il documento DDX che smonta il documento PDF - La
MyMapOf_xsd_string_To_xsd_anyTypeoggetto contenente il documento PDF da smontare - Un
AssemblerOptionSpecoggetto che specifica le opzioni di esecuzione
La
invokeDDXrestituisce unAssemblerResultoggetto contenente i risultati del processo ed eventuali eccezioni. - A
-
Salvare i documenti PDF smontati.
Per ottenere i documenti PDF appena creati, eseguire le operazioni seguenti:
- Accedere al
AssemblerResultdell’oggettodocumentsun campoMapoggetto contenente i documenti PDF smontati. - Itera attraverso il
Mapper ottenere ogni documento risultante. Quindi, eseguire il cast del membro dell'arrayvalueaBLOB. - Estrarre i dati binari che rappresentano il documento PDF accedendo ai relativi
BLOBdell’oggettoMTOMproprietà. Restituisce una matrice di byte che è possibile scrivere in un file PDF.
- Accedere al
Consulta anche
Smontaggio programmatico dei documenti PDF
Richiamo di AEM Forms tramite MTOM