Skapa PDF-dokument

Du kan använda utdatatjänsten för att skapa ett PDF-dokument som är baserat på en formulärdesign och XML-formulärdata som du anger. PDF-dokumentet som skapas av utdatatjänsten är inte ett interaktivt PDF-dokument. Användaren kan inte ange eller ändra formulärdata.

Om du vill skapa ett PDF-dokument som är avsett för långsiktig lagring rekommenderar vi att du skapar ett PDF/A-dokument. (Se Skapa PDF/A-dokument.)

Använd tjänsten Forms om du vill skapa ett interaktivt PDF-formulär där användaren kan ange data. (Se Återge interaktiv PDF forms.)

OBSERVERA
Mer information om utdatatjänsten finns i Tjänstreferens för AEM Forms.

Sammanfattning av steg

Så här skapar du ett PDF-dokument:

  1. Inkludera projektfiler.
  2. Skapa ett Output Client-objekt.
  3. Referera till en XML-datakälla.
  4. Ange körningsalternativ för PDF.
  5. Ange alternativ för återgivning vid körning.
  6. Skapa ett PDF-dokument.
  7. Hämta resultatet av åtgärden.

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 ta med proxyfilerna.

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

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

Om AEM Forms körs på en J2EE-programserver som stöds och som inte är JBoss, måste du ersätta filerna adobe-utilities.jar och jbossall-client.jar med JAR-filer som är specifika för J2EE-programservern som AEM Forms är distribuerad på.

Skapa ett Output Client-objekt

Innan du programmässigt kan utföra en utdatatjänståtgärd måste du skapa ett klientobjekt för utdatatjänsten. Om du använder Java API skapar du ett OutputClient-objekt. Skapa ett OutputServiceService-objekt om du använder API:t för webbtjänsten för utdata.

Referera till en XML-datakälla

Om du vill sammanfoga data med formulärdesignen måste du referera till en XML-datakälla som innehåller data. Det måste finnas ett XML-element för varje formulärfält som du vill fylla i med data. XML-elementnamnet måste matcha fältnamnet. Ett XML-element ignoreras om det inte motsvarar ett formulärfält eller om XML-elementnamnet inte matchar fältnamnet. Det är inte nödvändigt att matcha den ordning i vilken XML-elementen visas om alla XML-element har angetts.

Titta på följande exempelformulär för låneansökan.

cp_cp_loanformdata

Om du vill sammanfoga data i den här formulärdesignen måste du skapa en XML-datakälla som motsvarar formuläret. Följande XML representerar en XDP XML-datakälla som motsvarar exempelformuläret för låneansökan.

 <?xml version="1.0" encoding="UTF-8" ?>
 - <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
 - <xfa:data>
 - <data>
     - <Layer>
         <closeDate>1/26/2007</closeDate>
         <lastName>Johnson</lastName>
         <firstName>Jerry</firstName>
         <mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
         <city>New York</city>
         <zipCode>00501</zipCode>
         <state>NY</state>
         <dateBirth>26/08/1973</dateBirth>
         <middleInitials>D</middleInitials>
         <socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
         <phoneNumber>5555550000</phoneNumber>
     </Layer>
     - <Mortgage>
         <mortgageAmount>295000.00</mortgageAmount>
         <monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
         <purchasePrice>300000</purchasePrice>
         <downPayment>5000</downPayment>
         <term>25</term>
         <interestRate>5.00</interestRate>
     </Mortgage>
 </data>
 </xfa:data>
 </xfa:datasets>

Ange körningsalternativ för PDF

Ange filens URI-alternativ när du skapar ett PDF-dokument. Det här alternativet anger namn och plats för den PDF-fil som utdatatjänsten genererar.

OBSERVERA
I stället för att ange körningsalternativet för fil-URI kan du hämta PDF-dokumentet via programmering från den komplexa datatyp som returneras av Output-tjänsten. Genom att ställa in körningsalternativet fil-URI behöver du emellertid inte skapa programlogik som hämtar PDF-dokumentet programmatiskt.

Ange alternativ för återgivning vid körning

Du kan ange alternativ för återgivning vid körning när du skapar ett PDF-dokument. Även om dessa alternativ inte är nödvändiga (till skillnad från körningsalternativ för PDF som krävs) kan du utföra åtgärder som att förbättra prestanda för utdatatjänsten. Du kan till exempel cachelagra den formulärdesign som Output-tjänsten använder för att förbättra dess prestanda.

Om du använder ett taggat Acrobat-formulär som indata kan du inte använda Java- eller webbtjänstens API för utdatatjänsten för att inaktivera den taggade inställningen. Om du försöker ange det här alternativet till false programmatiskt taggas PDF-resultatdokumentet fortfarande.

OBSERVERA
Om du inte anger alternativ för återgivning vid körning används standardvärden. Mer information om alternativ för återgivning vid körning finns i klassreferensen RenderOptionsSpec. (Se API-referens för AEM Forms).

Skapa ett PDF-dokument

När du har refererat till en giltig XML-datakälla som innehåller formulärdata och angett körningsalternativ, kan du anropa utdatatjänsten, vilket resulterar i att ett PDF-dokument skapas.

När du genererar ett PDF-dokument anger du URI-värden som krävs av utdatatjänsten för att skapa ett PDF-dokument. En formulärdesign kan lagras på platser som serverfilsystemet eller som en del av ett AEM Forms-program. En formulärdesign (eller andra resurser som en bildfil) som finns som en del av ett Forms-program kan refereras med hjälp av URI-värdet repository:/// för innehållsroten. Ta till exempel följande formulärdesign Loan.xdp som finns i ett Forms-program med namnet Applications/FormsApplication:

cp_cp_formdatabase

Om du vill komma åt filen Loan.xdp som visas på föregående bild anger du repository:///Applications/FormsApplication/1.0/FormsFolder/ som den tredje parametern som skickas till OutputClient-objektets generatePDFOutput -metod. Ange formulärnamnet (Loan.xdp) som den andra parametern som skickas till OutputClient-objektets generatePDFOutput-metod.

Om XDP-filen innehåller bilder (eller andra resurser som fragment) placerar du resurserna i samma programmapp som XDP-filen. AEM Forms använder innehållets rot-URI som grundsökväg för att lösa referenser till bilder. Om filen Loan.xdp till exempel innehåller en bild måste du montera bilden i Applications/FormsApplication/1.0/FormsFolder/.

OBSERVERA
Du kan referera till en Forms-program-URI när du anropar OutputClient-objektets generatePDFOutput- eller generatePrintedOutput-metoder.
OBSERVERA
Om du vill se en fullständig snabbstart som skapar ett PDF-dokument genom att referera till en XDP-fil i ett Forms-program läser du Snabbstart (EJB-läge): Skapa ett PDF-dokument baserat på en XDP-programfil med Java API.

Hämta resultatet av åtgärden

När utdatatjänsten har utfört en åtgärd returneras olika dataobjekt, t.ex. status-XML-data, som anger om åtgärden lyckades.

Se även

Skapa ett PDF-dokument med Java API

Skapa ett PDF-dokument med hjälp av webbtjänstens API

Inkludera AEM Forms Java-biblioteksfiler

Ange anslutningsegenskaper

Snabbstart för Output Service API

Skapa ett PDF-dokument med Java API

Skapa ett PDF-dokument med hjälp av utdata-API (Java):

  1. Inkludera projektfiler.

    Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.

  2. Skapa ett Output Client-objekt.

    • Skapa ett ServiceClientFactory-objekt som innehåller anslutningsegenskaper.
    • Skapa ett OutputClient-objekt med hjälp av dess konstruktor och skicka ServiceClientFactory-objektet.
  3. Referera till en XML-datakälla.

    • Skapa ett java.io.FileInputStream-objekt som representerar XML-datakällan som används för att fylla i PDF-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för XML-filen.
    • Skapa ett com.adobe.idp.Document-objekt med hjälp av dess konstruktor. Skicka objektet java.io.FileInputStream.
  4. Ange körningsalternativ för PDF.

    • Skapa ett PDFOutputOptionsSpec-objekt med hjälp av dess konstruktor.
    • Ange alternativet Fil-URI genom att anropa PDFOutputOptionsSpec-objektets setFileURI-metod. Skicka ett strängvärde som anger platsen för den PDF-fil som utdatatjänsten genererar. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn.
  5. Ange alternativ för återgivning vid körning.

    • Skapa ett RenderOptionsSpec-objekt med hjälp av dess konstruktor.
    • Cachelagra formulärdesignen för att förbättra utdatatjänstens prestanda genom att anropa setCacheEnabled för RenderOptionsSpec-objektet och skicka true.
    OBSERVERA
    Du kan inte ange versionen av PDF-dokumentet med RenderOptionsSpec-objektets setPdfVersion-metod om indatadokumentet är ett Acrobat-formulär (ett formulär som har skapats i Acrobat) eller ett XFA-dokument som är signerat eller certifierat. Dokumentet PDF behåller den ursprungliga versionen av PDF. På samma sätt kan du inte ange alternativet taggad Adobe PDF genom att anropa RenderOptionsSpec-objektets setTaggedPDF-metod om indatadokumentet är ett Acrobat-formulär eller ett signerat eller certifierat XFA-dokument.
    OBSERVERA
    Du kan inte ange alternativet för linjär PDF med RenderOptionsSpec-objektets setLinearizedPDF-metod om indata-PDF är certifierad eller digitalt signerad. (Se Signera PDF-dokument digitalt.)
  6. Skapa ett PDF-dokument.

    Skapa ett PDF-dokument genom att anropa OutputClient-objektets generatePDFOutput-metod och skicka följande värden:

    • Ett TransformationFormat-uppräkningsvärde. Ange TransformationFormat.PDF om du vill generera ett PDF-dokument.
    • Ett strängvärde som anger formulärdesignens namn.
    • Ett strängvärde som anger innehållsroten där formulärdesignen finns.
    • Ett PDFOutputOptionsSpec-objekt som innehåller körningsalternativ för PDF.
    • Ett RenderOptionsSpec-objekt som innehåller alternativ för återgivning vid körning.
    • Objektet com.adobe.idp.Document som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.

    Metoden generatePDFOutput returnerar ett OutputResult-objekt som innehåller resultatet av åtgärden.

    OBSERVERA
    När du genererar ett PDF-dokument genom att anropa metoden generatePDFOutput kan du inte sammanfoga data med ett signerat eller certifierat XFA PDF-formulär. (Se Signera och certifiera dokument digitalt.)
    OBSERVERA
    OutputResult-objektets getRecordLevelMetaDataList-metod returnerar null.
    OBSERVERA
    Du kan också skapa ett PDF-dokument genom att anropa OutputClient-objektets generatePDFOutput2-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.)
  7. Hämta resultatet av åtgärden.

    • Hämta ett com.adobe.idp.Document-objekt som representerar statusen för generatePDFOutput-åtgärden genom att anropa OutputResult-objektets getStatusDoc-metod. Den här metoden returnerar status-XML-data som anger om åtgärden lyckades.
    • Skapa ett java.io.File-objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .xml.
    • Anropa com.adobe.idp.Document-objektets copyToFile-metod för att kopiera innehållet i com.adobe.idp.Document-objektet till filen (se till att du använder det com.adobe.idp.Document-objekt som returnerades av metoden getStatusDoc).

    Även om utdatatjänsten skriver PDF-dokumentet till den plats som anges av argumentet som skickas till PDFOutputOptionsSpec-objektets setFileURI -metod, kan du hämta PDF/A-dokumentet genom att anropa OutputResult-objektets getGeneratedDoc -metod.

Skapa ett PDF-dokument med hjälp av webbtjänstens API

Skapa ett PDF-dokument med hjälp av Output API (webbtjänsten):

  1. Inkludera projektfiler.

    Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.

    OBSERVERA
    Ersätt localhost med IP-adressen för servern som är värd för AEM Forms.
  2. Skapa ett Output Client-objekt.

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

    • Skapa ett OutputServiceClient.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/OutputService?blob=mtom). Du behöver inte använda attributet lc_version. Det här attributet används när du skapar en tjänstreferens. Ange ?blob=mtom om du vill använda MTOM.

    • Skapa ett System.ServiceModel.BasicHttpBinding-objekt genom att hämta värdet för fältet OutputServiceClient.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 OutputServiceClient.ClientCredentials.UserName.UserName.
      • Tilldela motsvarande lösenordsvärde till fältet OutputServiceClient.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 en XML-datakälla.

    • Skapa ett BLOB-objekt med hjälp av dess konstruktor. Objektet BLOB används för att lagra XML-data som ska sammanfogas med dokumentet PDF.
    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för XML-filen som innehåller formulärdata.
    • 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 och 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.
  4. Ange körningsalternativ för PDF

    • Skapa ett PDFOutputOptionsSpec-objekt med hjälp av dess konstruktor.
    • Ange alternativet Fil-URI genom att tilldela ett strängvärde som anger platsen för den PDF-fil som utdatatjänsten genererar till fileURI-objektets PDFOutputOptionsSpec-datamedlem. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn.
  5. Ange alternativ för återgivning vid körning.

    • Skapa ett RenderOptionsSpec-objekt med hjälp av dess konstruktor.
    • Cachelagra formulärdesignen för att förbättra utdatatjänstens prestanda genom att tilldela värdet true till RenderOptionsSpec-objektets cacheEnabled-datamedlem.
    OBSERVERA
    Du kan inte ange versionen av PDF-dokumentet med RenderOptionsSpec-objektets setPdfVersion-metod om indatadokumentet är ett Acrobat-formulär (ett formulär som har skapats i Acrobat) eller ett XFA-dokument som är signerat eller certifierat. Dokumentet PDF behåller den ursprungliga versionen av PDF. Du kan inte heller ange alternativet taggad Adobe PDF genom att anropa RenderOptionsSpec-objektets setTaggedPDF-metod om indatadokumentet är ett Acrobat-formulär eller ett signerat eller certifierat XFA-dokument.
    OBSERVERA
    Du kan inte ange alternativet för linjär PDF genom att använda RenderOptionsSpec-objektets linearizedPDF-medlem om indatadokumentet är certifierat eller digitalt signerat. (Se Signera PDF-dokument digitalt.)
  6. Skapa ett PDF-dokument.

    Skapa ett PDF-dokument genom att anropa OutputServiceService-objektets generatePDFOutputmetod och skicka följande värden:

    • Ett TransformationFormat-uppräkningsvärde. Ange TransformationFormat.PDF om du vill generera ett PDF-dokument.
    • Ett strängvärde som anger formulärdesignens namn.
    • Ett strängvärde som anger innehållsroten där formulärdesignen finns.
    • Ett PDFOutputOptionsSpec-objekt som innehåller körningsalternativ för PDF.
    • Ett RenderOptionsSpec-objekt som innehåller alternativ för återgivning vid körning.
    • Objektet BLOB som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
    • Ett BLOB-objekt som fylls i av metoden generatePDFOutput. Metoden generatePDFOutput fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs bara för webbtjänstanrop).
    • Ett BLOB-objekt som fylls i av metoden generatePDFOutput. Metoden generatePDFOutput fyller i det här objektet med resultatdata. (Det här parametervärdet krävs bara för webbtjänstanrop).
    • Ett OutputResult-objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs bara för webbtjänstanrop).
    OBSERVERA
    När du genererar ett PDF-dokument genom att anropa metoden generatePDFOutput kan du inte sammanfoga data med ett signerat eller certifierat XFA PDF-formulär. (Se Signera och certifiera dokument digitalt.)
    OBSERVERA
    Du kan också skapa ett PDF-dokument genom att anropa OutputClient-objektets generatePDFOutput2-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.)
  7. Hämta resultatet av åtgärden.

    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar en plats för en XML-fil som innehåller resultatdata. Kontrollera att filnamnstillägget är .xml.
    • Skapa en bytearray som lagrar datainnehållet för objektet BLOB som fylldes med resultatdata av metoden generatePDFOutput för objektet OutputServiceService (den åttonde parametern). Fyll i bytearrayen genom att hämta värdet för BLOB-objektets MTOM field.
    • Skapa ett System.IO.BinaryWriter-objekt genom att anropa dess konstruktor och skicka System.IO.FileStream-objektet.
    • Skriv bytearrayens innehåll till XML-filen genom att anropa System.IO.BinaryWriter-objektets Write-metod och skicka bytearrayen.

    Se även

OBSERVERA
OutputServiceService-objektets generateOutput-metod är inaktuell.

Skapa PDF/A-dokument

Du kan använda utdatatjänsten för att skapa ett PDF/A-dokument. Eftersom PDF/A är ett arkiveringsformat för långtidsbevaring av dokumentets innehåll, bäddas alla teckensnitt in och filen är okomprimerad. Därför är ett PDF/A-dokument vanligtvis större än ett PDF-standarddokument. Ett PDF/A-dokument innehåller inte heller ljud- och videoinnehåll. Precis som med andra Output Service-åtgärder tillhandahåller du både en formulärdesign och data som ska sammanfogas med en formulärdesign för att skapa ett PDF/A-dokument.

Specifikationen PDF/A-1 består av två överensstämmelsenivåer, nämligen a och b. Den största skillnaden mellan de två är stöd för logisk struktur (hjälpmedel), som inte krävs för överensstämmelsenivå b. Oavsett överensstämmelsenivå anger PDF/A-1 att alla teckensnitt är inbäddade i det genererade PDF/A-dokumentet.

Även om PDF/A är standarden för arkivering av dokument från PDF är det inte obligatoriskt att använda PDF/A för arkivering om ett standarddokument från PDF uppfyller företagets behov. Syftet med PDF/A-standarden är att upprätta en PDF-fil som kan lagras under lång tid och som uppfyller kraven på dokumentarkivering. En URL kan till exempel inte bäddas in i PDF/A eftersom URL:en kan bli ogiltig över tiden.

Organisationen måste bedöma sina egna behov, hur lång tid du tänker behålla dokumentet, ta hänsyn till filstorlek och fastställa en egen arkiveringsstrategi. Med tjänsten DocConverter kan du programmässigt avgöra om ett PDF-dokument är PDF/A-kompatibelt. (Se Programmatiskt fastställa kompatibiliteten PDF/A.)

Ett PDF/A-dokument måste ha det teckensnitt som är angivet i formulärdesignen och teckensnitt kan inte ersättas. Om ett teckensnitt som finns i ett PDF-dokument inte finns i operativsystemet (OS) inträffar därför ett undantag.

När ett PDF/A-dokument öppnas i Acrobat visas ett meddelande som bekräftar att dokumentet är ett PDF/A-dokument, vilket visas på följande bild.

cp_cp_pdframe

OBSERVERA
AIIM-webbplatsen har ett avsnitt med vanliga PDF/A-frågor som du kan nå på https://www.loc.gov/preservation/digital/formats/fdd/fdd000125.shtml.
OBSERVERA
Mer information om utdatatjänsten finns i Tjänstreferens för AEM Forms.

Sammanfattning av steg

Så här skapar du ett PDF/A-dokument:

  1. Inkludera projektfiler.
  2. Skapa ett Output Client-objekt.
  3. Referera till en XML-datakälla.
  4. Ange körningsalternativ för PDF/A.
  5. Ange alternativ för återgivning vid körning.
  6. Skapa ett PDF/A-dokument.
  7. Hämta resultatet av åtgärden.

Inkludera projektfiler

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

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

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

Om AEM Forms körs på en J2EE-programserver som stöds och som inte är JBoss, måste du ersätta filerna adobe-utilities.jar och jbossall-client.jar med JAR-filer som är specifika för J2EE-programservern som AEM Forms är distribuerad på.

Skapa ett Output Client-objekt

Innan du programmässigt kan utföra en utdatatjänståtgärd måste du skapa ett klientobjekt för utdatatjänsten. Om du använder Java API skapar du ett OutputClient-objekt. Skapa ett OutputServiceService-objekt om du använder API:t för webbtjänsten för utdata.

Referera till en XML-datakälla

Om du vill sammanfoga data med formulärdesignen måste du referera till en XML-datakälla som innehåller data. Det måste finnas ett XML-element för varje formulärfält som du vill fylla i med data. XML-elementnamnet måste matcha fältnamnet. Ett XML-element ignoreras om det inte motsvarar ett formulärfält eller om XML-elementnamnet inte matchar fältnamnet. Det är inte nödvändigt att matcha den ordning i vilken XML-elementen visas om alla XML-element har angetts.

Ange körningsalternativ för PDF/A

Du kan ange alternativet Fil-URI när du skapar ett PDF/A-dokument. URI:n är relativ till J2EE-programservern där AEM Forms finns. Det innebär att om du anger C:\Adobe skrivs filen till mappen på servern, inte till klientdatorn. URI:n anger namn och plats för den PDF/A-fil som utdatatjänsten genererar.

Ange alternativ för återgivning vid körning

Du kan ange alternativ för återgivning vid körning när du skapar PDF/A-dokument. Två alternativ för PDF/A som du kan ange är värdena PDFAConformance och PDFARevisionNumber. Värdet PDFAConformance refererar till hur ett PDF-dokument uppfyller krav som anger hur långtidsdokument bevaras. Giltiga värden för det här alternativet är A och B. Mer information om överensstämmelse för nivå a och b finns i ISO-specifikationen PDF/A-1 som heter ISO 19005-1 Document Management.

Värdet PDFARevisionNumber refererar till revisionsnumret för ett PDF/A-dokument. Mer information om revisionsnumret för ett PDF/A-dokument finns i ISO-specifikationen PDF/A-1 som heter ISO 19005-1 Document Management.

OBSERVERA
Du kan inte ange alternativet för taggad Adobe PDF till false när du skapar ett PDF/A 1A-dokument. PDF/A 1A är alltid ett taggat PDF-dokument. Du kan inte heller ställa in alternativet för taggad Adobe PDF på true när du skapar ett PDF/A 1B-dokument. PDF/A 1B kommer alltid att vara ett otaggat PDF-dokument.

Skapa ett PDF/A-dokument

När du har refererat till en giltig XML-datakälla som innehåller formulärdata och angett körningsalternativ, kan du anropa utdatatjänsten, vilket gör att den genererar ett PDF/A-dokument.

Hämta resultatet av åtgärden

När utdatatjänsten har utfört en åtgärd returneras olika dataobjekt, till exempel XML-data, som anger om åtgärden lyckades.

Se även

Skapa ett PDF/A-dokument med Java API

Skapa ett PDF/A-dokument med webbtjänstens API

Inkludera AEM Forms Java-biblioteksfiler

Ange anslutningsegenskaper

Snabbstart för Output Service API

Skapa ett PDF/A-dokument med Java API

Skapa ett PDF/A-dokument med hjälp av utdata-API (Java):

  1. Inkludera projektfiler.

    Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.

  2. Skapa ett Output Client-objekt.

    • Skapa ett ServiceClientFactory-objekt som innehåller anslutningsegenskaper.
    • Skapa ett OutputClient-objekt med hjälp av dess konstruktor och skicka ServiceClientFactory-objektet.
  3. Referera till en XML-datakälla.

    • Skapa ett java.io.FileInputStream-objekt som representerar XML-datakällan som används för att fylla i PDF/A-dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för XML-filen.
    • Skapa ett com.adobe.idp.Document-objekt med hjälp av dess konstruktor och skicka java.io.FileInputStream-objektet.
  4. Ange körningsalternativ för PDF/A.

    • Skapa ett PDFOutputOptionsSpec-objekt med hjälp av dess konstruktor.
    • Ange alternativet Fil-URI genom att anropa PDFOutputOptionsSpec-objektets setFileURI-metod. Skicka ett strängvärde som anger platsen för den PDF-fil som utdatatjänsten genererar. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn.
  5. Ange alternativ för återgivning vid körning.

    • Skapa ett RenderOptionsSpec-objekt med hjälp av dess konstruktor.
    • Ange värdet PDFAConformance genom att anropa RenderOptionsSpec-objektets setPDFAConformance-metod och skicka ett PDFAConformance enum-värde som anger överensstämmelsenivån. Om du till exempel vill ange överensstämmelsenivå A skickar du PDFAConformance.A.
    • Ange värdet PDFARevisionNumber genom att anropa RenderOptionsSpec-objektets setPDFARevisionNumber-metod och skicka PDFARevisionNumber.Revision_1.
    OBSERVERA
    PDF-versionen av ett PDF/A-dokument är 1.4 oavsett vilket värde du anger för RenderOptionsSpec-objektets setPdfVersionmetod.
  6. Skapa ett PDF/A-dokument.

    Skapa ett PDF/A-dokument genom att anropa OutputClient-objektets generatePDFOutput-metod och skicka följande värden:

    • Ett TransformationFormat-uppräkningsvärde. Om du vill generera ett PDF/A-dokument anger du TransformationFormat.PDFA.
    • Ett strängvärde som anger formulärdesignens namn.
    • Ett strängvärde som anger innehållsroten där formulärdesignen finns.
    • Ett PDFOutputOptionsSpec-objekt som innehåller körningsalternativ för PDF.
    • Ett RenderOptionsSpec-objekt som innehåller alternativ för återgivning vid körning.
    • Objektet com.adobe.idp.Document som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.

    Metoden generatePDFOutput returnerar ett OutputResult-objekt som innehåller resultatet av åtgärden.

    OBSERVERA
    OutputResult-objektets getRecordLevelMetaDataList-metod returnerar null.
    OBSERVERA
    Du kan också skapa ett PDF/A-dokument genom att anropa OutputClient-objektets generatePDFOutput 2-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.)
  7. Hämta resultatet av åtgärden.

    • Skapa ett com.adobe.idp.Document-objekt som representerar generatePDFOutput-metodens status genom att anropa OutputResult-objektets getStatusDoc-metod.
    • Skapa ett java.io.File-objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .xml.
    • Anropa com.adobe.idp.Document-objektets copyToFile-metod för att kopiera innehållet i com.adobe.idp.Document-objektet till filen (se till att du använder det com.adobe.idp.Document-objekt som returnerades av metoden getStatusDoc).
    OBSERVERA
    Även om Output-tjänsten skriver PDF/A-dokumentet till den plats som anges av argumentet som skickas till PDFOutputOptionsSpec-objektets setFileURI -metod, kan du hämta PDF/A-dokumentet genom att anropa OutputResult-objektets getGeneratedDoc -metod.

Skapa ett PDF/A-dokument med webbtjänstens API

Skapa ett PDF/A-dokument med hjälp av Output API (webbtjänsten):

  1. Inkludera projektfiler.

    Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.

    OBSERVERA
    Ersätt localhost med IP-adressen för servern som är värd för AEM Forms.
  2. Skapa ett Output Client-objekt.

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

    • Skapa ett OutputServiceClient.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/OutputService?blob=mtom). Du behöver inte använda attributet lc_version. Det här attributet används när du skapar en tjänstreferens. Ange ?blob=mtom om du vill använda MTOM.

    • Skapa ett System.ServiceModel.BasicHttpBinding-objekt genom att hämta värdet för fältet OutputServiceClient.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 OutputServiceClient.ClientCredentials.UserName.UserName.
      • Tilldela motsvarande lösenordsvärde till fältet OutputServiceClient.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 en XML-datakälla.

    • Skapa ett BLOB-objekt med hjälp av dess konstruktor. Objektet BLOB används för att lagra data som ska sammanfogas med PDF/A-dokumentet.
    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det PDF-dokument som ska krypteras 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 och skicka bytearrayen, startpositionen och strömlängden som ska läsas.
    • Fyll BLOB-objektet genom att tilldela dess MTOM-fält med bytearrayinnehållet.
  4. Ange körningsalternativ för PDF/A.

    • Skapa ett PDFOutputOptionsSpec-objekt med hjälp av dess konstruktor.
    • Ange alternativet Fil-URI genom att tilldela ett strängvärde som anger platsen för den PDF-fil som utdatatjänsten genererar till fileURI-objektets PDFOutputOptionsSpec-datamedlem. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn
  5. Ange alternativ för återgivning vid körning.

    • Skapa ett RenderOptionsSpec-objekt med hjälp av dess konstruktor.
    • Ange värdet PDFAConformance genom att tilldela ett PDFAConformance enum-värde till RenderOptionsSpec-objektets PDFAConformance-datamedlem. Om du till exempel vill ange överensstämmelsenivå A tilldelar du PDFAConformance.A till den här datamedlemmen.
    • Ange värdet PDFARevisionNumber genom att tilldela ett PDFARevisionNumber enum-värde till RenderOptionsSpec-objektets PDFARevisionNumber-datamedlem. Tilldela PDFARevisionNumber.Revision_1 till den här datamedlemmen.
    OBSERVERA
    PDF-versionen av ett PDF/A-dokument är 1.4 oavsett vilket värde du anger.
  6. Skapa ett PDF/A-dokument.

    Skapa ett PDF-dokument genom att anropa OutputServiceService-objektets generatePDFOutputmetod och skicka följande värden:

    • Ett TransformationFormat-uppräkningsvärde. Ange TransformationFormat.PDFA om du vill generera ett PDF-dokument.
    • Ett strängvärde som anger formulärdesignens namn.
    • Ett strängvärde som anger innehållsroten där formulärdesignen finns.
    • Ett PDFOutputOptionsSpec-objekt som innehåller körningsalternativ för PDF.
    • Ett RenderOptionsSpec-objekt som innehåller alternativ för återgivning vid körning.
    • Objektet BLOB som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
    • Ett BLOB-objekt som fylls i av metoden generatePDFOutput. Metoden generatePDFOutput fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs endast för webbtjänstanrop.)
    • Ett BLOB-objekt som fylls i av metoden generatePDFOutput. Metoden generatePDFOutput fyller i det här objektet med resultatdata. (Det här parametervärdet krävs endast för webbtjänstanrop.)
    • Ett OutputResult-objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs endast för webbtjänstanrop.)
    OBSERVERA
    Du kan också skapa ett PDF/A-dokument genom att anropa OutputClient-objektets generatePDFOutput 2-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.)
  7. Hämta resultatet av åtgärden.

    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar en plats för en XML-fil som innehåller resultatdata. Kontrollera att filnamnstillägget är .xml.
    • Skapa en bytearray som lagrar datainnehållet för objektet BLOB som fylldes med resultatdata av metoden generatePDFOutput för objektet OutputServiceService (den åttonde parametern). Fyll i bytearrayen genom att hämta värdet för BLOB-objektets MTOM-fält.
    • Skapa ett System.IO.BinaryWriter-objekt genom att anropa dess konstruktor och skicka System.IO.FileStream-objektet.
    • Skriv bytearrayens innehåll till XML-filen genom att anropa System.IO.BinaryWriter-objektets Write-metod och skicka bytearrayen.

Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten

Output-tjänsten återger ett icke-interaktivt PDF-formulär som är baserat på en formulärdesign som vanligtvis sparas som en XDP-fil och skapas i Designer. Du kan skicka ett com.adobe.idp.Document-objekt som innehåller formulärdesignen till utdatatjänsten. Utdatatjänsten återger sedan formulärdesignen i objektet com.adobe.idp.Document.

En fördel med att skicka ett com.adobe.idp.Document-objekt till utdatatjänsten är att andra AEM Forms-tjänståtgärder returnerar en com.adobe.idp.Document-instans. Det innebär att du kan hämta en com.adobe.idp.Document-instans från en annan tjänståtgärd och återge den. Anta till exempel att en XDP-fil lagras i en Content Services-nod (utgått) med namnet /Company Home/Form Designs, vilket visas på följande bild.

Du kan hämta Loan.xdp via programkod från Content Services (utgått) och skicka XDP-filen till Output-tjänsten i ett com.adobe.idp.Document-objekt.

OBSERVERA
Mer information om tjänsten Forms finns i Tjänstreferens för AEM Forms.

Sammanfattning av steg

Så här skickar du ett dokument som hämtats från innehållstjänster (borttaget) till utdatatjänsten:

  1. Inkludera projektfiler.
  2. Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.
  3. Hämta formulärdesignen från Content Services (utgått).
  4. Rendera det icke-interaktiva PDF-formuläret.
  5. Utför en åtgärd med dataströmmen.

Inkludera projektfiler

Inkludera de filer som behövs i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster inkluderar du proxyfilerna.

Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten

Innan du programmässigt kan utföra en API-åtgärd för en utdatatjänst skapar du ett API-objekt för utdataklienten. Eftersom det här arbetsflödet hämtar en XDP-fil från Content Services (utgått) skapar du också ett API-objekt för dokumenthantering.

Hämta formulärdesignen från Content Services (utgått)

Hämta XDP-filen från Content Services (utgått) med Java- eller webbtjänstens API. XDP-filen returneras i en com.adobe.idp.Document-instans (eller en BLOB-instans om du använder webbtjänster). Du kan sedan skicka instansen com.adobe.idp.Document till utdatatjänsten.

Återge det icke-interaktiva PDF-formuläret

Om du vill återge ett icke-interaktivt formulär skickar du com.adobe.idp.Document-instansen som returnerades från Content Services (utgått) till utdatatjänsten.

OBSERVERA
Två nya metoder med namnen generatePDFOutput2 och g eneratePrintedOutput2accepterar ett com.adobe.idp.Document-objekt som innehåller en formulärdesign. Du kan också skicka en com.adobe.idp.Document som innehåller formulärdesignen till utdatatjänsten när du skickar en utskriftsström till en nätverksskrivare.

Utför en åtgärd med formulärdataströmmen

Du kan spara det icke-interaktiva formuläret som en PDF-fil. Formuläret kan visas i Adobe Reader eller Acrobat.

Se även

Skicka dokument till utdatatjänsten med Java API

Skicka dokument till utdatatjänsten med hjälp av webbtjänstens API

Inkludera AEM Forms Java-biblioteksfiler

Ange anslutningsegenskaper

Snabbstart för Output Service API

Skapa PDF-dokument med fragment

Skicka dokument till utdatatjänsten med Java API

Skicka ett dokument som hämtats från Content Services (utgått) med hjälp av Output Service och Content Services (utgått) API (Java):

  1. Inkludera projektfiler.

    Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar och adobe-contentservices-client.jar, i Java-projektets klassökväg.

  2. Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.

    • Skapa ett ServiceClientFactory-objekt som innehåller anslutningsegenskaper. (Se Ange anslutningsegenskaper.)
    • Skapa ett OutputClient-objekt med hjälp av dess konstruktor och skicka ServiceClientFactory-objektet.
    • Skapa ett DocumentManagementServiceClientImpl-objekt med hjälp av dess konstruktor och skicka ServiceClientFactory-objektet.
  3. Hämta formulärdesignen från Content Services (utgått).

    Anropa DocumentManagementServiceClientImpl-objektets retrieveContent-metod och skicka följande värden:

    • Ett strängvärde som anger den lagringsplats där innehållet läggs till. Standardarkivet är SpacesStore. Detta värde är en obligatorisk parameter.
    • Ett strängvärde som anger den fullständigt kvalificerade sökvägen för innehållet som ska hämtas (till exempel /Company Home/Form Designs/Loan.xdp). Detta värde är en obligatorisk parameter.
    • Ett strängvärde som anger versionen. Det här värdet är en valfri parameter och du kan skicka en tom sträng. I det här fallet hämtas den senaste versionen.

    Metoden retrieveContent returnerar ett CRCResult-objekt som innehåller XDP-filen. Hämta en com.adobe.idp.Document-instans genom att anropa CRCResult-objektets getDocument-metod.

  4. Rendera det icke-interaktiva PDF-formuläret.

    Anropa OutputClient-objektets generatePDFOutput2-metod och skicka följande värden:

    • Ett TransformationFormat-uppräkningsvärde. Ange TransformationFormat.PDF om du vill generera ett PDF-dokument.
    • Ett strängvärde som anger innehållsroten där de ytterligare resurserna, t.ex. bilderna, finns.
    • Ett com.adobe.idp.Document-objekt som representerar formulärdesignen (använd instansen som returneras av CRCResult-objektets getDocument -metod).
    • Ett PDFOutputOptionsSpec-objekt som innehåller körningsalternativ för PDF.
    • Ett RenderOptionsSpec-objekt som innehåller alternativ för återgivning vid körning.
    • Objektet com.adobe.idp.Document som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.

    Metoden generatePDFOutput2 returnerar ett OutputResult-objekt som innehåller resultatet av åtgärden.

  5. Utför en åtgärd med formulärdataströmmen.

    • Hämta ett com.adobe.idp.Document-objekt som representerar det icke-interaktiva formuläret genom att anropa OutputResult-objektets getGeneratedDoc-metod.
    • Skapa ett java.io.File-objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .pdf.
    • Anropa com.adobe.idp.Document-objektets copyToFile-metod för att kopiera innehållet i com.adobe.idp.Document-objektet till filen (se till att du använder det com.adobe.idp.Document-objekt som returnerades av metoden getGeneratedDoc).

Skicka dokument till utdatatjänsten med hjälp av webbtjänstens API

Skicka ett dokument som hämtats från innehållstjänster (borttaget) med hjälp av utdatatjänsten och innehållstjänstens (utgått) API (webbtjänst):

  1. Inkludera projektfiler.

    Skapa ett Microsoft .NET-projekt som använder MTOM. Eftersom klientprogrammet anropar två AEM Forms-tjänster skapar du två tjänstreferenser. Använd följande WSDL-definition för den tjänstreferens som är associerad med utdatatjänsten: http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.

    Använd följande WSDL-definition för den tjänstreferens som är associerad med dokumenthanteringstjänsten: http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1.

    Eftersom datatypen BLOB är gemensam för båda tjänstreferenserna kan du kvalificera datatypen BLOB fullständigt när du använder den. I motsvarande snabbstart för webbtjänsten är alla BLOB instanser kvalificerade.

    OBSERVERA
    Ersätt localhost med IP-adressen för servern som är värd för AEM Forms.
  2. Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.

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

    • Skapa ett OutputServiceClient.Endpoint.Address-objekt med konstruktorn System.ServiceModel.EndpointAddress. Skicka ett strängvärde som anger WSDL till Forms-tjänsten (till exempel http://localhost:8080/soap/services/OutputService?blob=mtom). Du behöver inte använda attributet lc_version. Detta attribut 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 OutputServiceClient.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 OutputServiceClient.ClientCredentials.UserName.UserName.
      • Tilldela motsvarande lösenordsvärde till fältet OutputServiceClient.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.

    OBSERVERA
    Upprepa dessa steg för tjänstklienten DocumentManagementServiceClient.
  3. Hämta formulärdesignen från Content Services (utgått).

    Hämta innehåll genom att anropa DocumentManagementServiceClient-objektets retrieveContent-metod och skicka följande värden:

    • Ett strängvärde som anger den lagringsplats där innehållet läggs till. Standardarkivet är SpacesStore. Detta värde är en obligatorisk parameter.
    • Ett strängvärde som anger den fullständigt kvalificerade sökvägen för innehållet som ska hämtas (till exempel /Company Home/Form Designs/Loan.xdp). Detta värde är en obligatorisk parameter.
    • Ett strängvärde som anger versionen. Det här värdet är en valfri parameter och du kan skicka en tom sträng. I det här fallet hämtas den senaste versionen.
    • En strängutdataparameter som lagrar värdet för bläddringslänken.
    • En BLOB-utdataparameter som lagrar innehållet. Du kan använda den här utdataparametern för att hämta innehållet.
    • En ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType-utdataparameter som lagrar innehållsattribut.
    • En CRCResult-utdataparameter. I stället för att använda det här objektet kan du använda utdataparametern BLOB för att hämta innehållet.
  4. Rendera det icke-interaktiva PDF-formuläret.

    Anropa OutputServiceClient-objektets generatePDFOutput2-metod och skicka följande värden:

    • Ett TransformationFormat-uppräkningsvärde. Ange TransformationFormat.PDF om du vill generera ett PDF-dokument.
    • Ett strängvärde som anger innehållsroten där de ytterligare resurserna, t.ex. bilderna, finns.
    • Ett BLOB-objekt som representerar formulärdesignen (använd den BLOB-instans som returneras av Content Services (utgått)).
    • Ett PDFOutputOptionsSpec-objekt som innehåller körningsalternativ för PDF.
    • Ett RenderOptionsSpec-objekt som innehåller alternativ för återgivning vid körning.
    • Objektet BLOB som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
    • Ett utdataobjekt, BLOB, som fylls i av metoden generatePDFOutput2. Metoden generatePDFOutput2 fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs bara för webbtjänstanrop).
    • Ett OutputResult-utdataobjekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs bara för webbtjänstanrop).

    Metoden generatePDFOutput2 returnerar ett BLOB-objekt som innehåller det icke-interaktiva PDF-formuläret.

  5. Utför en åtgärd med formulärdataströmmen.

    • Skapa ett System.IO.FileStream-objekt genom att anropa dess konstruktor. Skicka ett strängvärde som representerar filplatsen för det interaktiva PDF-dokumentet och läget som filen ska öppnas i.
    • Skapa en bytearray som lagrar innehållet i objektet BLOB som hämtats från metoden generatePDFOutput2. Fyll i bytearrayen genom att hämta värdet för BLOB-objektets MTOM-datamedlem.
    • Skapa ett System.IO.BinaryWriter-objekt genom att anropa dess konstruktor och skicka System.IO.FileStream-objektet.
    • Skriv bytearrayens innehåll till en PDF-fil genom att anropa System.IO.BinaryWriter-objektets Write-metod och skicka bytearrayen.

Skicka dokument i databasen till utdatatjänsten

Output-tjänsten återger ett icke-interaktivt PDF-formulär som är baserat på en formulärdesign som vanligtvis sparas som en XDP-fil och skapas i Designer. Du kan skicka ett com.adobe.idp.Document-objekt som innehåller formulärdesignen till utdatatjänsten. Utdatatjänsten återger sedan formulärdesignen i objektet com.adobe.idp.Document.

En fördel med att skicka ett com.adobe.idp.Document-objekt till utdatatjänsten är att andra AEM Forms-tjänståtgärder returnerar en com.adobe.idp.Document-instans. Det innebär att du kan hämta en com.adobe.idp.Document-instans från en annan tjänståtgärd och återge den. Anta till exempel att en XDP-fil lagras i AEM Forms-databasen, vilket visas i följande bild.

pd_pd_formdatabas

Mappen FormsFolder är en användardefinierad plats i AEM Forms-databasen (den här platsen är ett exempel och finns inte som standard). I det här exemplet finns en formulärdesign med namnet Loan.xdp i den här mappen. Förutom formulärdesignen kan andra formulärdata, t.ex. bilder, lagras på den här platsen. Sökvägen till en resurs i AEM Forms-databasen:

Applications/Application-name/Application-version/Folder.../Filename

Du kan hämta Loan.xdp programmatiskt från AEM Forms-databasen och skicka det till utdatatjänsten inom ett com.adobe.idp.Document-objekt.

Du kan skapa en PDF baserad på en XDP-fil i databasen på något av två sätt. Du kan skicka XDP-platsen med referens eller så kan du hämta XDP-filen från databasen programmässigt och skicka den till utdatatjänsten i en XDP-fil.

Snabbstart (EJB-läge): Skapa ett PDF-dokument baserat på en program-XDP-fil med Java-API:t(visar hur du skickar platsen för XDP-filen med referens).

Snabbstart (EJB-läge): Skickar ett dokument i AEM Forms-databasen till utdatatjänsten med Java-API:t(visar hur du hämtar XDP-filen programmatiskt från AEM Forms-databasen och skickar den till utdatatjänsten i en com.adobe.idp.Document-instans). (I det här avsnittet beskrivs hur du utför den här uppgiften)

OBSERVERA
Mer information om tjänsten Forms finns i Tjänstreferens för AEM Forms.