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 localhost
con l’indirizzo IP del server che ospita AEM Forms. -
Creare un client PDF Assembler.
-
Crea un
AssemblerServiceClient
utilizzando il relativo costruttore predefinito. -
Crea un
AssemblerServiceClient.Endpoint.Address
utilizzandoSystem.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 illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. -
Crea un
System.ServiceModel.BasicHttpBinding
ottenendo il valore delAssemblerServiceClient.Endpoint.Binding
campo . Imposta il valore restituito suBasicHttpBinding
. -
Imposta la
System.ServiceModel.BasicHttpBinding
dell’oggettoMessageEncoding
campo 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.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegnare il nome utente del modulo di AEM al campo
-
-
Fai riferimento a un documento DDX esistente.
- Crea un
BLOB
utilizzando il relativo costruttore. LaBLOB
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 ilSystem.IO.FileStream
dell’oggettoLength
proprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStream
dell’oggettoRead
e passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOB
oggetto assegnando il relativoMTOM
con il contenuto dell'array di byte.
- Crea un
-
Fare riferimento a un documento PDF per smontare.
- Crea un
BLOB
utilizzando il relativo costruttore. LaBLOB
viene utilizzato per memorizzare il documento di input PDF. QuestoBLOB
viene passato all'oggettoinvokeOneDocument
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 ilSystem.IO.FileStream
dell’oggettoLength
proprietà. - Compilare l'array di byte con i dati del flusso richiamando il
System.IO.FileStream
dell’oggettoRead
e passare l'array di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Popolare
BLOB
oggetto assegnando il relativoMTOM
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’oggettokey
campo . Questo valore deve corrispondere al valore dell'elemento di origine PDF specificato nel documento DDX. - Assegna
BLOB
oggetto che memorizza il documento PDF nellaMyMapOf_xsd_string_To_xsd_anyType_Item
dell’oggettovalue
campo . - Aggiungi il
MyMapOf_xsd_string_To_xsd_anyType_Item
dell'oggettoMyMapOf_xsd_string_To_xsd_anyType
oggetto. Richiama ilMyMapOf_xsd_string_To_xsd_anyType
oggetto"Add
e passare ilMyMapOf_xsd_string_To_xsd_anyType
oggetto.
- Crea un
-
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, assegnarefalse
alAssemblerOptionSpec
dell’oggettofailOnError
campo .
- Crea un
-
Smontare il documento PDF.
Richiama il
AssemblerServiceClient
dell’oggettoinvokeDDX
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 unAssemblerResult
oggetto 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
AssemblerResult
dell’oggettodocuments
un campoMap
oggetto contenente i documenti PDF smontati. - Itera attraverso il
Map
per ottenere ogni documento risultante. Quindi, eseguire il cast del membro dell'arrayvalue
aBLOB
. - Estrarre i dati binari che rappresentano il documento PDF accedendo ai relativi
BLOB
dell’oggettoMTOM
proprietà. 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