Aufteilen eines PDF-Dokuments mithilfe der Webdienst-API

Aufteilen eines PDF-Dokuments mithilfe der Assembler-Dienst-API (Webdienst):

  1. Projektdateien einschließen.

    Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie beim Festlegen einer Dienstreferenz die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.

    HINWEIS

    Ersetzen localhost mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.

  2. Erstellen Sie einen PDF Assembler-Client.

    • Erstellen Sie eine AssemblerServiceClient -Objekt mithilfe des Standardkonstruktors.

    • Erstellen Sie eine AssemblerServiceClient.Endpoint.Address -Objekt mithilfe der System.ServiceModel.EndpointAddress -Konstruktor. Übergeben Sie einen string -Wert, der die WSDL an den AEM Forms-Dienst angibt (z. B. http://localhost:8080/soap/services/AssemblerService?blob=mtom). Sie müssen die lc_version -Attribut. Dieses Attribut wird verwendet, wenn Sie eine Dienstreferenz erstellen.

    • Erstellen Sie eine System.ServiceModel.BasicHttpBinding -Objekt durch Abrufen des Werts der AssemblerServiceClient.Endpoint.Binding -Feld. Wandeln Sie den Rückgabewert in BasicHttpBinding um.

    • Legen Sie die System.ServiceModel.BasicHttpBinding -Objekt MessageEncoding -Feld zu WSMessageEncoding.Mtom. Dieser Wert stellt sicher, dass MTOM verwendet wird.

    • Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Aufgaben ausführen:

      • Weisen Sie dem Feld den Benutzernamen AEM Formulare zu AssemblerServiceClient.ClientCredentials.UserName.UserName.
      • Weisen Sie dem Feld den entsprechenden Kennwortwert zu AssemblerServiceClient.ClientCredentials.UserName.Password.
      • Konstantenwert zuweisen HttpClientCredentialType.Basic zum Feld BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • Konstantenwert zuweisen BasicHttpSecurityMode.TransportCredentialOnly zum Feld BasicHttpBindingSecurity.Security.Mode.
  3. Referenzieren Sie ein vorhandenes DDX-Dokument.

    • Erstellen Sie ein Objekt BLOB, indem Sie den Konstruktor verwenden. Die BLOB -Objekt wird zum Speichern des DDX-Dokuments verwendet.
    • Erstellen Sie eine System.IO.FileStream -Objekt durch Aufrufen seines Konstruktors. Übergeben Sie einen string -Wert für den Dateispeicherort des DDX-Dokuments und den Modus, in dem die Datei geöffnet werden soll.
    • Erstellen Sie ein Byte-Array, das den Inhalt des System.IO.FileStream -Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream -Objekt Length -Eigenschaft.
    • Füllen Sie das Byte-Array mit Stream-Daten, indem Sie die System.IO.FileStream -Objekt Read -Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.
    • Füllen Sie die BLOB Objekt durch Zuweisen seiner MTOM -Eigenschaft mit dem Inhalt des Byte-Arrays.
  4. Referenzieren Sie ein zu zerlegendes PDF-Dokument.

    • Erstellen Sie ein Objekt BLOB, indem Sie den Konstruktor verwenden. Die BLOB -Objekt wird zum Speichern des PDF-Eingabedokuments verwendet. Diese BLOB -Objekt wird an die invokeOneDocument als Argument.
    • Erstellen Sie eine System.IO.FileStream -Objekt durch Aufrufen des Konstruktors und Übergeben eines Zeichenfolgenwerts, der den Dateispeicherort des Eingabedokuments und den PDF-Modus darstellt, in dem die Datei geöffnet werden soll.
    • Erstellen Sie ein Byte-Array, das den Inhalt des System.IO.FileStream -Objekt. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die System.IO.FileStream -Objekt Length -Eigenschaft.
    • Füllen Sie das Byte-Array mit Stream-Daten, indem Sie die System.IO.FileStream -Objekt Read -Methode verwenden und das Byte-Array, die Startposition und die zu lesende Stream-Länge übergeben.
    • Füllen Sie die BLOB Objekt durch Zuweisen seiner MTOM den Inhalt des Byte-Arrays.
    • Erstellen Sie eine MyMapOf_xsd_string_To_xsd_anyType -Objekt. Dieses Kollektionsobjekt wird verwendet, um die zu zerlegende PDF zu speichern.
    • Erstellen Sie eine MyMapOf_xsd_string_To_xsd_anyType_Item -Objekt.
    • Weisen Sie dem MyMapOf_xsd_string_To_xsd_anyType_Item -Objekt key -Feld. Dieser Wert muss mit dem Wert des im DDX-Dokument angegebenen PDF-Quellelements übereinstimmen.
    • Zuweisen der BLOB -Objekt, das das PDF-Dokument im MyMapOf_xsd_string_To_xsd_anyType_Item -Objekt value -Feld.
    • Fügen Sie die MyMapOf_xsd_string_To_xsd_anyType_Item -Objekt MyMapOf_xsd_string_To_xsd_anyType -Objekt. Rufen Sie die MyMapOf_xsd_string_To_xsd_anyType object" Add -Methode und übergeben Sie die MyMapOf_xsd_string_To_xsd_anyType -Objekt.
  5. Legen Sie Laufzeitoptionen fest.

    • Erstellen Sie eine AssemblerOptionSpec -Objekt, das Laufzeitoptionen mithilfe seines Konstruktors speichert.
    • Legen Sie Laufzeitoptionen fest, um Ihre Geschäftsanforderungen zu erfüllen, indem Sie einem Datenelement einen Wert zuweisen, der zum AssemblerOptionSpec -Objekt. Um beispielsweise den Assembler-Dienst anzuweisen, die Verarbeitung eines Auftrags fortzusetzen, wenn ein Fehler auftritt, weisen Sie false der AssemblerOptionSpec -Objekt failOnError -Feld.
  6. Lösen Sie das PDF-Dokument aus.

    Rufen Sie die AssemblerServiceClient -Objekt invokeDDX -Methode verwenden und die folgenden Werte übergeben:

    • A BLOB -Objekt, das das DDX-Dokument darstellt, das das PDF-Dokument disassembliert
    • Die MyMapOf_xsd_string_To_xsd_anyType -Objekt, das das zu zerlegende PDF-Dokument enthält
    • Ein AssemblerOptionSpec -Objekt, das Laufzeitoptionen angibt

    Die invokeDDX -Methode gibt eine AssemblerResult -Objekt, das die Auftragsergebnisse und alle aufgetretenen Ausnahmen enthält.

  7. Speichern Sie die zerlegten PDF-Dokumente.

    Führen Sie die folgenden Schritte aus, um die neu erstellten PDF-Dokumente abzurufen:

    • Zugriff auf AssemblerResult -Objekt documents -Feld, das ein Map -Objekt, das die zerlegten PDF-Dokumente enthält.
    • Iteration durch die Map -Objekt, um jedes Zieldokument abzurufen. Dann die value zu BLOB.
    • Extrahieren Sie die Binärdaten, die das PDF-Dokument darstellen, indem Sie auf dessen BLOB -Objekt MTOM -Eigenschaft. Dadurch wird ein Array von Bytes zurückgegeben, die Sie in eine PDF-Datei schreiben können.

Siehe auch

Programmgesteuerte Demontage von PDF-Dokumenten

AEM Forms mithilfe von MTOM aufrufen

Auf dieser Seite