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:

  1. 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 localhost door het IP-adres van de server die als host fungeert voor AEM Forms.
  2. Maak een PDF Assembler-client.

    • Maak een AssemblerServiceClient -object met de standaardconstructor.

    • Maak een AssemblerServiceClient.Endpoint.Address -object met de System.ServiceModel.EndpointAddress -constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeld http://localhost:8080/soap/services/AssemblerService?blob=mtom ). U hoeft het attribuut lc_version niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.

    • Maak een System.ServiceModel.BasicHttpBinding -object door de waarde van het AssemblerServiceClient.Endpoint.Binding -veld op te halen. De geretourneerde waarde wordt gecast naar BasicHttpBinding .

    • Stel het veld MessageEncoding van het System.ServiceModel.BasicHttpBinding -object in op WSMessageEncoding.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.UserName toe.
      • Wijs de bijbehorende wachtwoordwaarde toe aan het veld AssemblerServiceClient.ClientCredentials.UserName.Password .
      • Wijs de constante waarde HttpClientCredentialType.Basic toe aan het veld BasicHttpBindingSecurity.Transport.ClientCredentialType .
      • Wijs de constante waarde BasicHttpSecurityMode.TransportCredentialOnly toe aan het veld BasicHttpBindingSecurity.Security.Mode .
  3. Verwijs naar een bestaand DDX-document.

    • Maak een BLOB -object met behulp van de constructor. Het BLOB -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.FileStream wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschap Length van het object System.IO.FileStream op te halen.
    • Vul de bytearray met streamgegevens door de methode Read van het object System.IO.FileStream aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen.
    • Vul het object BLOB door de eigenschap MTOM ervan toe te wijzen met de inhoud van de bytearray.
  4. Verwijs naar een document van de PDF om te demonteren.

    • Maak een BLOB -object met behulp van de constructor. Het BLOB -object wordt gebruikt om het invoer-PDF-document op te slaan. Dit BLOB -object wordt als een argument aan invokeOneDocument doorgegeven.
    • 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.FileStream wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschap Length van het object System.IO.FileStream op te halen.
    • Vul de bytearray met streamgegevens door de methode Read van het object System.IO.FileStream aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen.
    • Vul het BLOB -object door het MTOM -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 key van het MyMapOf_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 veld MyMapOf_xsd_string_To_xsd_anyType_Item object value .
    • Voeg het object MyMapOf_xsd_string_To_xsd_anyType_Item toe aan het object MyMapOf_xsd_string_To_xsd_anyType . Roep de methode MyMapOf_xsd_string_To_xsd_anyType object’ Add aan en geef het object MyMapOf_xsd_string_To_xsd_anyType door.
  5. 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 u false toe aan het veld AssemblerOptionSpec object failOnError .
  6. Haal het PDF-document uit elkaar.

    Roep de methode invokeDDX van het object AssemblerServiceClient aan 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 invokeDDX retourneert een AssemblerResult -object dat de taakresultaten en eventuele uitzonderingen bevat die zijn opgetreden.

  7. Sla de gedemonteerde PDF-documenten op.

    Voer de volgende handelingen uit om de nieuwe PDF-documenten te verkrijgen:

    • Open het veld documents van het AssemblerResult -object (een Map -object dat de gedemonteerde PDF-documenten bevat).
    • Doorloop het Map -object om elk resulterend document te verkrijgen. Vervolgens cast u het element value van dat arraylid naar een BLOB .
    • Haal de binaire gegevens die het PDF-document vertegenwoordigen op door de eigenschap MTOM van het object BLOB te openen. Hiermee wordt een array met bytes geretourneerd die u naar een PDF-bestand kunt schrijven.

zie ook

PDF-documenten programmatisch demonteren

AEM Forms aanroepen met MTOM

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2