Dela upp ett PDF-dokument med hjälp av webbtjänstens API disassemble-a-pdf-document-usingthe-web-service-api
Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.
Dela upp ett PDF-dokument med Assembler Service API (webbtjänst):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition när du anger en tjänstreferens:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.note note NOTE Ersätt localhostmed IP-adressen för servern som är värd för AEM Forms. -
Skapa en PDF Assembler-klient.
-
Skapa ett
AssemblerServiceClient-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
AssemblerServiceClient.Endpoint.Address-objekt med konstruktornSystem.ServiceModel.EndpointAddress. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/AssemblerService?blob=mtom). Du behöver inte använda attributetlc_version. Det här attributet används när du skapar en tjänstreferens. -
Skapa ett
System.ServiceModel.BasicHttpBinding-objekt genom att hämta värdet för fältetAssemblerServiceClient.Endpoint.Binding. Skicka returvärdet tillBasicHttpBinding. -
Ställ in
System.ServiceModel.BasicHttpBinding-objektetsMessageEncoding-fält tillWSMessageEncoding.Mtom. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
AssemblerServiceClient.ClientCredentials.UserName.UserName. - Tilldela motsvarande lösenordsvärde till fältet
AssemblerServiceClient.ClientCredentials.UserName.Password. - Tilldela konstantvärdet
HttpClientCredentialType.Basictill fältetBasicHttpBindingSecurity.Transport.ClientCredentialType. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnlytill fältetBasicHttpBindingSecurity.Security.Mode.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Referera till ett befintligt DDX-dokument.
- Skapa ett
BLOB-objekt med hjälp av dess konstruktor. ObjektetBLOBanvänds för att lagra DDX-dokumentet. - Skapa ett
System.IO.FileStream-objekt genom att anropa dess konstruktor. Skicka ett strängvärde som representerar filplatsen för DDX-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream-objektetsLength-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream-objektetsRead-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll objektet
BLOBgenom att tilldela dessMTOM-egenskap med innehållet i bytearrayen.
- Skapa ett
-
Referera ett PDF-dokument som ska demonteras.
- Skapa ett
BLOB-objekt med hjälp av dess konstruktor. ObjektetBLOBanvänds för att lagra indatadokumentet i PDF. Det härBLOB-objektet skickas tillinvokeOneDocumentsom ett argument. - Skapa ett
System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för indata-PDF-dokumentet och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream-objektetsLength-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream-objektetsRead-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll i
BLOB-objektet genom att tilldela dessMTOM-fält innehållet i bytearrayen. - Skapa ett
MyMapOf_xsd_string_To_xsd_anyType-objekt. Samlingsobjektet används för att lagra PDF som ska demonteras. - Skapa ett
MyMapOf_xsd_string_To_xsd_anyType_Item-objekt. - Tilldela ett strängvärde som representerar nyckelnamnet till
MyMapOf_xsd_string_To_xsd_anyType_Item-objektetskey-fält. Detta värde måste matcha värdet för källelementet PDF som anges i DDX-dokumentet. - Tilldela det
BLOB-objekt som lagrar PDF-dokumentet tillMyMapOf_xsd_string_To_xsd_anyType_Item-objektetsvalue-fält. - Lägg till objektet
MyMapOf_xsd_string_To_xsd_anyType_Itemi objektetMyMapOf_xsd_string_To_xsd_anyType. AnropaMyMapOf_xsd_string_To_xsd_anyType-objektetsAdd-metod och skickaMyMapOf_xsd_string_To_xsd_anyType-objektet.
- Skapa ett
-
Ange körningsalternativ.
- Skapa ett
AssemblerOptionSpec-objekt som lagrar körningsalternativ med hjälp av dess konstruktor. - Ange körningsalternativ för att uppfylla dina affärskrav genom att tilldela ett värde till en datamedlem som tillhör objektet
AssemblerOptionSpec. Om du till exempel vill instruera Assembler-tjänsten att fortsätta bearbeta ett jobb när ett fel inträffar tilldelar dufalsetillAssemblerOptionSpec-objektetsfailOnError-fält.
- Skapa ett
-
Dela upp PDF-dokumentet.
Anropa
AssemblerServiceClient-objektetsinvokeDDX-metod och skicka följande värden:- Ett
BLOB-objekt som representerar DDX-dokumentet som demonterar PDF-dokumentet - Det
MyMapOf_xsd_string_To_xsd_anyType-objekt som innehåller det PDF-dokument som ska demonteras - Ett
AssemblerOptionSpec-objekt som anger körningsalternativ
Metoden
invokeDDXreturnerar ettAssemblerResult-objekt som innehåller jobbresultaten och eventuella undantag som har inträffat. - Ett
-
Spara de upplösta PDF-dokumenten.
Gör så här för att hämta de nya PDF-dokumenten:
- Åtkomst till
AssemblerResult-objektetsdocuments-fält, som är ettMap-objekt som innehåller de omonterade PDF-dokumenten. - Iterera genom objektet
Mapför att få fram varje resulterande dokument. Sedan konverterar du den arraymedlemmensvaluetill enBLOB. - Extrahera de binära data som representerar PDF-dokumentet genom att komma åt objektets
BLOB-egenskapMTOM. Detta returnerar en array med byte som du kan skriva ut till en PDF-fil.
- Åtkomst till
Se även
Dela upp PDF-dokument programmatiskt