Samla PDF Portfolio assembling-pdf-portfolios

Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.

Du kan sätta ihop ett PDF Portfolio med Assembler Java och webbtjänstens API. En portfölj kan kombinera flera dokument av olika typer, inklusive ordfiler, bildfiler (till exempel en jpeg-fil) och PDF-dokument. Portföljens layout kan anges till olika format, till exempel stödrastret med förhandsvisning, layouten På en bild eller Rotera.

Följande bild är en skärmbild av en portfölj med stillayouten På en bild .

ap_ap_portfolio

Att skapa en PDF Portfolio fungerar som ett papperslöst alternativ till att skicka en dokumentsamling. Med AEM Forms kan du skapa portföljer genom att anropa Assembler-tjänsten med ett strukturerat DDX-dokument. Följande DDX-dokument är ett exempel på ett DDX-dokument som skapar ett PDF-Portfolio.

 <DDX xmlns="https://ns.adobe.com/DDX/1.0/">
     <PDF result="portfolio1.pdf">
         <Portfolio>
             <Navigator source="myNavigator">
                 <Resource name="navigator/image.xxx" source="myImage.png"/>
             </Navigator>
         </Portfolio>
         <PackageFiles source="dog1"  >
              <FieldData name="X">72</FieldData>
             <FieldData name="Y">72</FieldData>
             <File filename="saint_bernard.jpg" mimetype="image/jpeg"/>
         </PackageFiles>
         <PackageFiles source="dog2"  >
             <FieldData name="X">120</FieldData>
             <FieldData name="Y">216</FieldData>
             <File filename="greyhound.pdf"/>
         </PackageFiles>
     </PDF>
 </DDX>

DXX-dokumentet måste innehålla en Portfolio-tagg med en kapslad Navigator-tagg. Observera att taggen <Resource name="navigator/image.xxx" source="myImage.png"/> bara är nödvändig om myNavigator har tilldelats som onImage-layoutnavigator: AdobeOnImage.nav. Med den här taggen kan Assembler-tjänsten välja den bild som ska användas som portföljbakgrund. Inkludera PackageFiles- och File-taggar för att definiera den paketerade filens filnamn och MIME-typ.

NOTE
Mer information om Assembler-tjänsten finns i Tjänstreferens för AEM Forms.
NOTE
Mer information om ett DDX-dokument finns i Assembler Service och DDX Reference.

Sammanfattning av steg summary-of-steps

Så här skapar du en Portfolio i PDF:

  1. Inkludera projektfiler.
  2. Skapa en PDF Assembler-klient.
  3. Referera till ett befintligt DDX-dokument.
  4. Referera till önskade dokument.
  5. Ange körningsalternativ.
  6. Sammanställ portföljen.
  7. Spara den monterade portföljen.

Inkludera projektfiler

Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.

Följande JAR-filer måste läggas till i projektets klasssökväg:

  • adobe-livecycle-client.jar
  • adobe-usermanager-client.jar
  • adobe-assembler-client.jar
  • adobe-utilities.jar (krävs om AEM Forms används i JBoss)
  • jbossall-client.jar (krävs om AEM Forms används i JBoss)

Skapa en PDF Assembler-klient

Skapa en Assembler-tjänstklient innan du programmässigt utför en Assembler-åtgärd.

Referera till ett befintligt DDX-dokument

Ett DDX-dokument måste refereras till för att du ska kunna sätta ihop ett PDF Portfolio. Det här DDX-dokumentet måste innehålla elementen Portfolio, Navigator och PackageFiles.

Referera till önskade dokument

Om du vill montera ett PDF Portfolio refererar du till alla filer som representerar de dokument som ska monteras. Skicka till exempel alla bildfiler som har angetts i DDX-dokumentet till Assembler-tjänsten. Observera att dessa filer refereras i det DDX-dokument som anges i det här avsnittet: myImage.png och saint_bernard.jpg.

När du sätter ihop en PDF Portfolio skickar du en NAV-fil (en navigatorfil) till Assembler-tjänsten. NAV-filen som du skickar till Assembler-tjänsten beror på vilken typ av PDF Portfolio som ska skapas. Om du till exempel vill skapa en På en bild-layout skickar du filen AdobeOnImage.nav. Du kan hitta NAV-filer i följande mapp:

<Install folder>\Acrobat 9.0\Acrobat\Navigators

Kopiera NAV-filen från installationskatalogen för Acrobat 9 (eller senare). Placera NAV-filen på en plats där klientprogrammet kan komma åt den. Alla filer skickas till Assembler-tjänsten i ett Map-samlingsobjekt.

NOTE
Snabbstarterna som är kopplade till Samling av PDF Portfolio använder AdobeOnImage.nav.

Ange körningsalternativ

Du kan ställa in körningsalternativ som styr beteendet för Assembler-tjänsten när den utför ett jobb. Du kan till exempel ange ett alternativ som instruerar Assembler-tjänsten att fortsätta bearbeta ett jobb om ett fel uppstår.

Sammanställ portföljen

Om du vill montera ett PDF Portfolio anropar du åtgärden invokeDDX. Assembler-tjänsten returnerar PDF Portfolio i ett samlingsobjekt.

Spara den sammansatta portföljen

PDF Portfolio returneras inom ett samlingsobjekt. Iterera genom samlingsobjektet och spara PDF Portfolio som en PDF-fil.

Se även

Sammanställa en PDF Portfolio med Java API

Sammanställa en PDF Portfolio med hjälp av webbtjänstens API

Inkludera AEM Forms Java-biblioteksfiler

Ange anslutningsegenskaper

Programmisk sammanställning av PDF-dokument

Sammanställa en PDF Portfolio med Java API assemble-a-pdf-portfolio-using-the-java-api

Sätt ihop ett PDF Portfolio med hjälp av Assembler Service API (Java):

  1. Inkludera projektfiler.

    Inkludera JAR-klientfiler, som adobe-assembler-client.jar, i Java-projektets klassökväg.

  2. Skapa en PDF Assembler-klient.

    • Skapa ett ServiceClientFactory-objekt som innehåller anslutningsegenskaper.
    • Skapa ett AssemblerServiceClient-objekt med hjälp av dess konstruktor och skicka ServiceClientFactory-objektet.
  3. Referera till ett befintligt DDX-dokument.

    • Skapa ett java.io.FileInputStream-objekt som representerar DDX-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för DDX-filen.
    • Skapa ett com.adobe.idp.Document-objekt med hjälp av dess konstruktor och skicka java.io.FileInputStream-objektet.
  4. Referera till önskade dokument.

    • Skapa ett java.util.Map-objekt som används för att lagra PDF-indatadokument med hjälp av en HashMap-konstruktor.

    • Skapa ett java.io.FileInputStream-objekt med hjälp av dess konstruktor. Skicka platsen för den NAV-fil som krävs (upprepa den här uppgiften för varje fil som krävs för att skapa en portfölj).

    • Skapa ett com.adobe.idp.Document-objekt och skicka java.io.FileInputStream-objektet som innehåller NAV-filen (upprepa den här uppgiften för varje fil som krävs för att skapa en portfölj).

    • Lägg till en post i objektet java.util.Map genom att anropa dess put-metod och skicka följande argument:

      • Ett strängvärde som representerar nyckelnamnet. Detta värde måste matcha värdet för källelementet som anges i DDX-dokumentet. (upprepa den här uppgiften för varje fil som krävs för att skapa en portfölj).
      • Ett com.adobe.idp.Document-objekt som innehåller PDF-dokumentet. (upprepa den här uppgiften för varje fil som krävs för att skapa en portfölj).
  5. Ange körningsalternativ.

    • Skapa ett AssemblerOptionSpec-objekt som lagrar körningsalternativ med hjälp av dess konstruktor.
    • Ange körningsalternativ som uppfyller dina affärskrav genom att anropa en metod 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, anropar du AssemblerOptionSpec-objektets setFailOnError-metod och skickar false.
  6. Sammanställ portföljen.

    Anropa AssemblerServiceClient-objektets invokeDDX-metod och skicka följande obligatoriska värden:

    • Ett com.adobe.idp.Document-objekt som representerar det DX-dokument som ska användas
    • Ett java.util.Map-objekt som innehåller de filer som krävs för att skapa en PDF Portfolio.
    • Ett com.adobe.livecycle.assembler.client.AssemblerOptionSpec-objekt som anger körningsalternativen, inklusive standardteckensnittet och jobbloggsnivån

    Metoden invokeDDX returnerar ett com.adobe.livecycle.assembler.client.AssemblerResult-objekt som innehåller det monterade PDF Portfolio och eventuella undantag som har inträffat.

  7. Spara den monterade portföljen.

    Utför följande åtgärder om du vill hämta PDF Portfolio:

    • Anropa metoden getDocuments för objektet AssemblerResult. Den här metoden returnerar ett java.util.Map-objekt.
    • Upprepa genom objektet java.util.Map tills du hittar det resulterande com.adobe.idp.Document-objektet.
    • Anropa com.adobe.idp.Document-objektets copyToFile-metod för att extrahera PDF Portfolio.

Se även

Snabbstart (SOAP läge): Samla in PDF Portfolio med Java API

Inkludera AEM Forms Java-biblioteksfiler

Ange anslutningsegenskaper

Sammanställa en PDF Portfolio med hjälp av webbtjänstens API assemble-a-pdf-portfolio-using-the-web-service-api

Sätt ihop ett PDF Portfolio med Assembler Service API (webbtjänst):

  1. 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 localhost med IP-adressen för servern som är värd för AEM Forms.
  2. Skapa en PDF Assembler-klient.

    • Skapa ett AssemblerServiceClient-objekt med hjälp av dess standardkonstruktor.

    • Skapa ett AssemblerServiceClient.Endpoint.Address-objekt med konstruktorn System.ServiceModel.EndpointAddress. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempel http://localhost:8080/soap/services/AssemblerService?blob=mtom). Du behöver inte använda attributet lc_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ältet AssemblerServiceClient.Endpoint.Binding. Skicka returvärdet till BasicHttpBinding.

    • Ställ in System.ServiceModel.BasicHttpBinding-objektets MessageEncoding-fält till WSMessageEncoding.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.Basic till fältet BasicHttpBindingSecurity.Transport.ClientCredentialType.
      • Tilldela konstantvärdet BasicHttpSecurityMode.TransportCredentialOnly till fältet BasicHttpBindingSecurity.Security.Mode.
  3. Referera till ett befintligt DDX-dokument.

    • Skapa ett BLOB-objekt med hjälp av dess konstruktor. Objektet BLOB används för att lagra DDX-dokumentet.
    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor och 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ämta System.IO.FileStream-objektets Length-egenskap.
    • Fyll i bytearrayen med strömdata genom att anropa System.IO.FileStream-objektets Read-metod. Skicka bytearrayen, startpositionen och strömlängden som ska läsas.
    • Fyll objektet BLOB genom att tilldela dess MTOM-egenskap med innehållet i bytearrayen.
  4. Referera till önskade dokument.

    • För varje indatafil skapar du ett BLOB-objekt med hjälp av dess konstruktor. Objektet BLOB används för att lagra indatafilen.
    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar indatafilens plats 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ämta System.IO.FileStream-objektets Length-egenskap.
    • Fyll i bytearrayen med strömdata genom att anropa System.IO.FileStream-objektets Read-metod. Skicka bytearrayen, startpositionen och strömlängden som ska läsas.
    • Fyll BLOB-objektet genom att tilldela dess MTOM-fält med innehållet i bytearrayen.
    • Skapa ett MyMapOf_xsd_string_To_xsd_anyType-objekt. Det här samlingsobjektet används för att lagra indatafiler som krävs för att skapa en PDF Portfolio.
    • Skapa ett MyMapOf_xsd_string_To_xsd_anyType_Item-objekt för varje indatafil.
    • Tilldela ett strängvärde som representerar nyckelnamnet till MyMapOf_xsd_string_To_xsd_anyType_Item-objektets key-fält. Detta värde måste matcha värdet för elementet som anges i DDX-dokumentet. (Utför den här åtgärden för varje indatafil.)
    • Tilldela objektet BLOB som lagrar indatafilen till fältet value för MyMapOf_xsd_string_To_xsd_anyType_Item-objektet. (Utför den här åtgärden för varje dokument i PDF.)
    • Lägg till objektet MyMapOf_xsd_string_To_xsd_anyType_Item i objektet MyMapOf_xsd_string_To_xsd_anyType. Anropa MyMapOf_xsd_string_To_xsd_anyType-objektets Add-metod och skicka MyMapOf_xsd_string_To_xsd_anyType-objektet. (Utför den här åtgärden för varje dokument i PDF.)
  5. 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 du false till AssemblerOptionSpec-objektets failOnError-datamedlem.
  6. Sammanställ portföljen.

    Anropa AssemblerServiceClient-objektets invokeDDX-metod och skicka följande värden:

    • Ett BLOB-objekt som representerar DDX-dokumentet
    • Objektet MyMapOf_xsd_string_To_xsd_anyType som innehåller de nödvändiga filerna
    • Ett AssemblerOptionSpec-objekt som anger körningsalternativ

    Metoden invokeDDX returnerar ett AssemblerResult-objekt som innehåller resultatet av jobbet och eventuella undantag som inträffade.

  7. Spara den monterade portföljen.

    Utför följande åtgärder för att hämta nya PDF Portfolio:

    • Få åtkomst till AssemblerResult-objektets documents-fält, som är ett Map-objekt som innehåller de resulterande PDF-dokumenten.
    • Iterera genom objektet Map för att få fram varje resulterande dokument. Sedan konverterar du den arraymedlemmens value till en BLOB.
    • Extrahera de binära data som representerar PDF-dokumentet genom att komma åt objektets BLOB-egenskap MTOM. Detta returnerar en array med byte som du kan skriva ut till en PDF-fil.

Se även

Anropa AEM Forms med MTOM

Anropa AEM Forms med SwaRef

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