Een PDF-document dempen met de webservice-API disassemble-a-pdf-document-usingthe-web-service-api
de Steekproeven en de voorbeelden in dit document zijn slechts voor AEM Forms op milieu JEE.
U kunt een PDF-document desassembleren met de API (webservice) van de Assembler-service:
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende WSDL-definitie gebruikt wanneer u een serviceverwijzing instelt:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.note note NOTE Vervang localhostdoor het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een PDF Assembler-client.
-
Maak een
AssemblerServiceClient-object met de standaardconstructor. -
Maak een
AssemblerServiceClient.Endpoint.Address-object met deSystem.ServiceModel.EndpointAddress-constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/AssemblerService?blob=mtom). U hoeft het attribuutlc_versionniet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. -
Maak een
System.ServiceModel.BasicHttpBinding-object door de waarde van hetAssemblerServiceClient.Endpoint.Binding-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding. -
Stel het veld
MessageEncodingvan hetSystem.ServiceModel.BasicHttpBinding-object in opWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld
AssemblerServiceClient.ClientCredentials.UserName.UserNametoe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
AssemblerServiceClient.ClientCredentials.UserName.Password. - Wijs de constante waarde
HttpClientCredentialType.Basictoe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnlytoe aan het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijs naar een bestaand DDX-document.
- Maak een
BLOB-object met behulp van de constructor. HetBLOB-object wordt gebruikt om het DDX-document op te slaan. - Maak een
System.IO.FileStream-object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het DDX-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStreamwordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLengthvan het objectSystem.IO.FileStreamop te halen. - Vul de bytearray met streamgegevens door de methode
Readvan het objectSystem.IO.FileStreamaan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het object
BLOBdoor de eigenschapMTOMervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Verwijs naar een document van de PDF om te demonteren.
- Maak een
BLOB-object met behulp van de constructor. HetBLOB-object wordt gebruikt om het invoer-PDF-document op te slaan. DitBLOB-object wordt als een argument aaninvokeOneDocumentdoorgegeven. - Maak een
System.IO.FileStream-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het PDF-invoerdocument en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStreamwordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLengthvan het objectSystem.IO.FileStreamop te halen. - Vul de bytearray met streamgegevens door de methode
Readvan het objectSystem.IO.FileStreamaan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB-object door hetMTOM-veld ervan de inhoud van de bytearray toe te wijzen. - Maak een
MyMapOf_xsd_string_To_xsd_anyType-object. Dit verzamelingsobject wordt gebruikt om de PDF op te slaan die moet worden gedemonteerd. - Maak een
MyMapOf_xsd_string_To_xsd_anyType_Item-object. - Wijs een tekenreekswaarde toe die de sleutelnaam vertegenwoordigt aan het veld
keyvan hetMyMapOf_xsd_string_To_xsd_anyType_Item-object. Deze waarde moet overeenkomen met de waarde van het PDF-bronelement dat is opgegeven in het DDX-document. - Wijs het
BLOB-object toe dat het PDF-document opslaat in het veldMyMapOf_xsd_string_To_xsd_anyType_Itemobjectvalue. - Voeg het object
MyMapOf_xsd_string_To_xsd_anyType_Itemtoe aan het objectMyMapOf_xsd_string_To_xsd_anyType. Roep de methodeMyMapOf_xsd_string_To_xsd_anyTypeobject’Addaan en geef het objectMyMapOf_xsd_string_To_xsd_anyTypedoor.
- Maak een
-
Stel runtime-opties in.
- Maak een
AssemblerOptionSpec-object dat uitvoeringsopties opslaat met behulp van de bijbehorende constructor. - Stel runtime-opties in om aan uw bedrijfsvereisten te voldoen door een waarde toe te wijzen aan een gegevenslid dat tot het
AssemblerOptionSpec-object behoort. Als u bijvoorbeeld de Assembler-service wilt instrueren een taak te blijven verwerken wanneer een fout optreedt, wijst ufalsetoe aan het veldAssemblerOptionSpecobjectfailOnError.
- Maak een
-
Haal het PDF-document uit elkaar.
Roep de methode
invokeDDXvan het objectAssemblerServiceClientaan en geef de volgende waarden door:- Een
BLOB-object dat staat voor het DDX-document dat het PDF-document demonteert - Het
MyMapOf_xsd_string_To_xsd_anyType-object dat het te demonteren PDF-document bevat - Een
AssemblerOptionSpec-object dat uitvoeringsopties opgeeft
De methode
invokeDDXretourneert eenAssemblerResult-object dat de taakresultaten en eventuele uitzonderingen bevat die zijn opgetreden. - Een
-
Sla de gedemonteerde PDF-documenten op.
Voer de volgende handelingen uit om de nieuwe PDF-documenten te verkrijgen:
- Open het veld
documentsvan hetAssemblerResult-object (eenMap-object dat de gedemonteerde PDF-documenten bevat). - Doorloop het
Map-object om elk resulterend document te verkrijgen. Vervolgens cast u het elementvaluevan dat arraylid naar eenBLOB. - Haal de binaire gegevens die het PDF-document vertegenwoordigen op door de eigenschap
MTOMvan het objectBLOBte openen. Hiermee wordt een array met bytes geretourneerd die u naar een PDF-bestand kunt schrijven.
- Open het veld
zie ook
PDF-documenten programmatisch demonteren