Skapa dokumentutdataströmmar creating-document-output-streams
Exempel och exempel i det här dokumentet är bara för AEM Forms i JEE-miljö.
Om utdatatjänsten
Med Output-tjänsten kan du skriva ut dokument som PDF (inklusive PDF/A-dokument), PostScript, Printer Control Language (PCL) och följande etikettformat:
- Zebra - ZPL
- Intermec - IPL
- Datamax - DPL
- TecToshiba - TPCL
Med hjälp av utdatatjänsten kan du sammanfoga XML-formulärdata med en formulärdesign och skicka dokumentet till en nätverksskrivare eller fil.
Det finns två sätt att skicka en formulärdesign (en XDP-fil) till utdatatjänsten. Du kan skicka en com.adobe.idp.Document
-instans som innehåller en formulärdesign för Output-tjänsten. Du kan också skicka ett URI-värde som anger platsen för formulärdesignen. Båda dessa sätt diskuteras i Programmera med AEM.
I följande avsnitt visas hur du skickar en formulärdesign till utdatatjänsten med ett URI-värde:
I följande avsnitt visas hur du skickar en formulärdesign i en com.adobe.idp.Document
instans:
När du bestämmer vilken teknik du ska använda är det viktigt att du hämtar formulärdesignen från en annan AEM Forms-tjänst och sedan skickar den i en com.adobe.idp.Document
-instans. Båda Skicka dokument till Output Service och Skapa PDF-dokument med fragment visas hur du hämtar en formulärdesign från en annan AEM Forms-tjänst. Det första avsnittet hämtar formulärdesignen från innehållstjänster (borttagen). Det andra avsnittet hämtar formulärdesignen från Assembler-tjänsten.
Om du hämtar formulärdesignen från en fast plats, t.ex. i filsystemet, kan du använda vilken teknik som helst. Du kan alltså ange URI-värdet till en XDP-fil eller använda en com.adobe.idp.Document
-instans.
Om du vill skicka ett URI-värde som anger platsen för formulärdesignen när du skapar ett PDF-dokument använder du generatePDFOutput
-metod. På samma sätt kan du skicka ett com.adobe.idp.Document
-instans till Output-tjänsten när du skapar ett PDF-dokument använder du generatePDFOutput2
-metod.
När du skickar en utdataström till en nätverksskrivare kan du också använda båda teknikerna. Skicka en utdataström till en skrivare genom att skicka en com.adobe.idp.Document
-instans som innehåller en formulärdesign använder du sendToPrinter2
-metod. Om du vill skicka en utdataström till en skrivare genom att skicka ett URI-värde använder du sendToPrinter
-metod. The Skicka utskriftsströmmar till skrivare -avsnittet använder sendToPrinter
-metod.
Du kan utföra följande uppgifter med hjälp av utdatatjänsten:
Skapa PDF-dokument creating-pdf-documents
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 Återger interaktiv PDF forms.)
Sammanfattning av steg summary-of-steps
Så här skapar du ett PDF-dokument:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Referera till en XML-datakälla.
- Ange körningsalternativ för PDF.
- Ange alternativ för återgivning vid körning.
- Skapa ett PDF-dokument.
- 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 en OutputClient
-objekt. Om du använder webbtjänstens API för utdata skapar du en OutputServiceService
-objekt.
Referera 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.
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.
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 att programmatiskt ange det här alternativet till false
, är det resulterande PDF-dokumentet fortfarande taggat.
RenderOptionsSpec
klassreferens. (Se AEM Forms API-referens).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 innehållsrots-URI-värdet repository:///
. Ta till exempel följande formulärdesign med namnet Loan.xdp som finns i ett Forms-program med namnet Program/FormsApplication:
Om du vill få åtkomst till filen Loan.xdp som visades i 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 kontrollerar du att du placerar bilden i Applications/FormsApplication/1.0/FormsFolder/
.
OutputClient
objektets generatePDFOutput
eller generatePrintedOutput
metoder.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
Snabbstart för Output Service API
Skapa ett PDF-dokument med Java API create-a-pdf-document-using-the-java-api
Skapa ett PDF-dokument med hjälp av utdata-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera till en XML-datakälla.
- Skapa en
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 en
com.adobe.idp.Document
genom att använda dess konstruktor. Skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Ange körningsalternativ för PDF.
- Skapa en
PDFOutputOptionsSpec
genom att använda dess konstruktor. - Ange alternativet Fil-URI genom att anropa
PDFOutputOptionsSpec
objektetssetFileURI
-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.
- Skapa en
-
Ange alternativ för återgivning vid körning.
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Cachelagra formulärdesignen för att förbättra prestanda för Output-tjänsten genom att anropa
RenderOptionsSpec
objektetssetCacheEnabled
och skickatrue
.
note note NOTE Du kan inte ange version för PDF-dokumentet med RenderOptionsSpec
objektetssetPdfVersion
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 taggade Adobe PDF-alternativ genom att anropaRenderOptionsSpec
objektetssetTaggedPDF
om indatadokumentet är ett Acrobat-formulär eller ett signerat eller certifierat XFA-dokument.note note NOTE Du kan inte ange alternativet för linjär PDF med RenderOptionsSpec
objektetssetLinearizedPDF
metod om det inmatade PDF-dokumentet är certifierat eller digitalt signerat. (Se Signera PDF-dokument digitalt.) - Skapa en
-
Skapa ett PDF-dokument.
Skapa ett PDF-dokument genom att anropa
OutputClient
objektetsgeneratePDFOutput
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
com.adobe.idp.Document
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
The
generatePDFOutput
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden.note note NOTE När ett PDF-dokument skapas genom att generatePDFOutput
kan du inte sammanfoga data med ett XFA PDF-formulär som är signerat eller certifierat. (Se Digitalt signera och certifiera dokument.)note note NOTE The OutputResult
objektetsgetRecordLevelMetaDataList
metodreturernull
.note note NOTE Du kan också skapa ett PDF-dokument genom att anropa OutputClient
objektetsgeneratePDFOutput2
-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.) - A
-
Hämta resultatet av åtgärden.
- Hämta en
com.adobe.idp.Document
objekt som representerar statusen förgeneratePDFOutput
genom att anropaOutputResult
objektetsgetStatusDoc
-metod. Den här metoden returnerar status-XML-data som anger om åtgärden lyckades. - Skapa en
java.io.File
objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .xml. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avgetStatusDoc
metod).
Även om utdatatjänsten skriver PDF-dokumentet till den plats som anges av argumentet som skickas till
PDFOutputOptionsSpec
objektetssetFileURI
kan du hämta PDF/A-dokumentet genom att anropaOutputResult
objektetsgetGeneratedDoc
-metod. - Hämta en
Se även
Snabbstart (EJB-läge): Skapa ett PDF-dokument med Java API
Snabbstart (SOAP-läge): Skapa ett PDF-dokument med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skapa ett PDF-dokument med hjälp av webbtjänstens API create-a-pdf-document-using-the-web-service-api
Skapa ett PDF-dokument med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till en XML-datakälla.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra XML-data som ska sammanfogas med dokumentet PDF. - Skapa en
System.IO.FileStream
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
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
fält med bytearrayens innehåll.
- Skapa en
-
Ange körningsalternativ för PDF
- Skapa en
PDFOutputOptionsSpec
genom att använda 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
PDFOutputOptionsSpec
objektetsfileURI
datamedlem. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn.
- Skapa en
-
Ange alternativ för återgivning vid körning.
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Cachelagra formulärdesignen för att förbättra prestanda för Output-tjänsten genom att tilldela värdet
true
tillRenderOptionsSpec
objektetscacheEnabled
datamedlem.
note note NOTE Du kan inte ange version för PDF-dokumentet med RenderOptionsSpec
objektetssetPdfVersion
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 taggade Adobe PDF-alternativ genom att anropaRenderOptionsSpec
objektetssetTaggedPDF
* om indatadokumentet är ett Acrobat-formulär eller ett signerat eller certifierat XFA-dokument.*note note NOTE Du kan inte ange alternativet för linjär PDF med RenderOptionsSpec
objektetslinearizedPDF
medlem om det inmatade PDF-dokumentet är certifierat eller digitalt signerat. (Se Signera PDF-dokument digitalt.) - Skapa en
-
Skapa ett PDF-dokument.
Skapa ett PDF-dokument genom att anropa
OutputServiceService
objektetsgeneratePDFOutput
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
BLOB
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen. - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs bara för webbtjänstanrop). - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
-metoden fyller i det här objektet med resultatdata. (Det här parametervärdet krävs bara för webbtjänstanrop). - An
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs bara för webbtjänstanrop).
note note NOTE När ett PDF-dokument skapas genom att generatePDFOutput
kan du inte sammanfoga data med ett XFA PDF-formulär som är signerat eller certifierat. (Se Digitalt signera och certifiera dokument.)note note NOTE Du kan också skapa ett PDF-dokument genom att anropa OutputClient
objektetsgeneratePDFOutput2
-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.) - A
-
Hämta resultatet av åtgärden.
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar en XML-filplats som innehåller resultatdata. Kontrollera att filnamnstillägget är .xml. - Skapa en bytearray som lagrar datainnehållet i
BLOB
objekt som fylldes i med resultatdata avOutputServiceService
objektetsgeneratePDFOutput
metod (den åttonde parametern). Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
field
. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till XML-filen genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
Se även
- Skapa en
OutputServiceService
objektets generateOutput
-metoden är inaktuell.Skapa PDF/A-dokument creating-pdf-a-documents
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ödet för den logiska strukturen (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 Programmerat fastställa PDF/A-överensstämmelse.)
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.
Sammanfattning av steg summary_of_steps-1
Så här skapar du ett PDF/A-dokument:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Referera till en XML-datakälla.
- Ange körningsalternativ för PDF/A.
- Ange alternativ för återgivning vid körning.
- Skapa ett PDF/A-dokument.
- 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 en OutputClient
-objekt. Om du använder webbtjänstens API för utdata skapar du en OutputServiceService
-objekt.
Referera 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 PDFAConformance
och PDFARevisionNumber
värden. The PDFAConformance
värde avser hur ett PDF-dokument uppfyller krav som anger hur långfristiga elektroniska dokument 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 Dokumenthantering.
The PDFARevisionNumber
värde är 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 Dokumenthantering.
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 tagged Adobe PDF på true
när du skapar ett PDF/A 1B-dokument. PDF/A 1B kommer alltid att vara ett otaggat PDF-dokument.Generera 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
Snabbstart för Output Service API
Skapa ett PDF/A-dokument med Java API create-a-pdf-a-document-using-the-java-api
Skapa ett PDF/A-dokument med hjälp av utdata-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera till en XML-datakälla.
- Skapa en
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 en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Ange körningsalternativ för PDF/A.
- Skapa en
PDFOutputOptionsSpec
genom att använda dess konstruktor. - Ange alternativet Fil-URI genom att anropa
PDFOutputOptionsSpec
objektetssetFileURI
-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.
- Skapa en
-
Ange alternativ för återgivning vid körning.
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Ange
PDFAConformance
genom att anropaRenderOptionsSpec
objektetssetPDFAConformance
metod och skicka enPDFAConformance
uppräkningsvärde som anger anpassningsnivån. Om du till exempel vill ange överensstämmelsenivå A skickar duPDFAConformance.A
. - Ange
PDFARevisionNumber
genom att anropaRenderOptionsSpec
objektetssetPDFARevisionNumber
metod och att skickaPDFARevisionNumber.Revision_1
.
note note NOTE PDF-versionen av ett PDF/A-dokument är 1.4 oavsett vilket värde du anger för RenderOptionsSpec
objektetssetPdfVersion
-metod. - Skapa en
-
Skapa ett PDF/A-dokument.
Skapa ett PDF/A-dokument genom att anropa
OutputClient
objektetsgeneratePDFOutput
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett PDF/A-dokument anger duTransformationFormat.PDFA
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
com.adobe.idp.Document
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
The
generatePDFOutput
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden.note note NOTE The OutputResult
objektetsgetRecordLevelMetaDataList
metodreturernull
.note note NOTE Du kan också skapa ett PDF/A-dokument genom att anropa OutputClient
objektetsgeneratePDFOutput
2-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.) - A
-
Hämta resultatet av åtgärden.
- Skapa en
com.adobe.idp.Document
objekt som representerar statusen förgeneratePDFOutput
metod genom att anropaOutputResult
objektetsgetStatusDoc
-metod. - Skapa en
java.io.File
-objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .xml. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avgetStatusDoc
metod).
note note NOTE Även om Output-tjänsten skriver PDF/A-dokumentet till den plats som anges av argumentet som skickas till PDFOutputOptionsSpec
objektetssetFileURI
kan du hämta PDF/A-dokumentet genom att anropaOutputResult
objektetsgetGeneratedDoc
-metod. - Skapa en
Se även
Snabbstart (SOAP-läge): Skapa ett PDF/A-dokument med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skapa ett PDF/A-dokument med webbtjänstens API create-a-pdf-a-document-using-the-web-service-api
Skapa ett PDF/A-dokument med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till en XML-datakälla.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra data som ska sammanfogas med PDF/A-dokumentet. - Skapa en
System.IO.FileStream
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 i vilket filen ska öppnas. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
fält med bytearrayens innehåll.
- Skapa en
-
Ange körningsalternativ för PDF/A.
- Skapa en
PDFOutputOptionsSpec
genom att använda 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
PDFOutputOptionsSpec
objektetsfileURI
datamedlem. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn
- Skapa en
-
Ange alternativ för återgivning vid körning.
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Ange
PDFAConformance
genom att tilldela enPDFAConformance
enum-värde tillRenderOptionsSpec
objektetsPDFAConformance
datamedlem. Om du till exempel vill ange överensstämmelsenivå A tilldelar duPDFAConformance.A
till denna datamedlem. - Ange
PDFARevisionNumber
genom att tilldela enPDFARevisionNumber
enum-värde tillRenderOptionsSpec
objektetsPDFARevisionNumber
datamedlem. TilldelaPDFARevisionNumber.Revision_1
till denna datamedlem.
note note NOTE PDF-versionen av ett PDF/A-dokument är 1.4 oavsett vilket värde du anger. - Skapa en
-
Skapa ett PDF/A-dokument.
Skapa ett PDF-dokument genom att anropa
OutputServiceService
objektetsgeneratePDFOutput
och skicka följande värden:- Ett TransformationFormat-uppräkningsvärde. Om du vill generera ett dokument i PDF 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.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
BLOB
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen. - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs endast för webbtjänstanrop.) - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
-metoden fyller i det här objektet med resultatdata. (Det här parametervärdet krävs endast för webbtjänstanrop.) - An
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs endast för webbtjänstanrop.)
note note NOTE Du kan också skapa ett PDF/A-dokument genom att anropa OutputClient
objektetsgeneratePDFOutput
2-metod. (Se Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten.) - Ett TransformationFormat-uppräkningsvärde. Om du vill generera ett dokument i PDF anger du
-
Hämta resultatet av åtgärden.
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar en XML-filplats som innehåller resultatdata. Kontrollera att filnamnstillägget är .xml. - Skapa en bytearray som lagrar datainnehållet i
BLOB
objekt som fylldes i med resultatdata avOutputServiceService
objektetsgeneratePDFOutput
metod (den åttonde parametern). Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
fält. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till XML-filen genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även
Skicka dokument i innehållstjänster (borttaget) till utdatatjänsten passing-documents-located-in-content-services-deprecated-to-the-output-service
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 en com.adobe.idp.Document
objekt som innehåller formulärdesignen för Output-tjänsten. Utdatatjänsten återger sedan formulärdesignen i com.adobe.idp.Document
-objekt.
En fördel med att skicka en com.adobe.idp.Document
-objektet till Output-tjänsten är att andra AEM Forms-serviceåtgärder returnerar ett com.adobe.idp.Document
-instans. Du kan alltså få 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 programmatiskt från Content Services (utgått) och skicka XDP-filen till Output-tjänsten i en com.adobe.idp.Document
-objekt.
Sammanfattning av steg summary_of_steps-2
Så här skickar du ett dokument som hämtats från innehållstjänster (borttaget) till utdatatjänsten:
- Inkludera projektfiler.
- Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.
- Hämta formulärdesignen från Content Services (utgått).
- Rendera det icke-interaktiva PDF-formuläret.
- 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 innehållstjänster (borttagen)
Hämta XDP-filen från Content Services (utgått) med Java- eller webbtjänstens API. XDP-filen returneras inom en com.adobe.idp.Document
instans (eller en BLOB
om du använder webbtjänster). Du kan sedan skicka com.adobe.idp.Document
-instans till Output-tjänsten.
Återge det icke-interaktiva PDF-formuläret
Om du vill återge ett icke-interaktivt formulär skickar du com.adobe.idp.Document
-instans som returnerades från innehållstjänster (utgått) till utdatatjänsten.
generatePDFOutput2
och g eneratePrintedOutput2
acceptera 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 en utskriftsström skickas 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
Snabbstart för Output Service API
Skapa PDF-dokument med fragment
Skicka dokument till utdatatjänsten med Java API pass-documents-to-the-output-service-using-the-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):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar och adobe-contentservices-client.jar, i Java-projektets klassökväg.
-
Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. (Se Ange anslutningsegenskaper.) - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt. - Skapa en
DocumentManagementServiceClientImpl
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Hämta formulärdesignen från Content Services (utgått).
Anropa
DocumentManagementServiceClientImpl
objektetsretrieveContent
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ändiga, 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.
The
retrieveContent
returnerar enCRCResult
-objekt som innehåller XDP-filen. Hämta encom.adobe.idp.Document
instans genom att anropaCRCResult
objektetsgetDocument
-metod. - Ett strängvärde som anger den lagringsplats där innehållet läggs till. Standardarkivet är
-
Rendera det icke-interaktiva PDF-formuläret.
Anropa
OutputClient
objektetsgeneratePDFOutput2
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger innehållsroten där de ytterligare resurserna, t.ex. bilderna, finns.
- A
com.adobe.idp.Document
objektet som representerar formulärdesignen (använd instansen som returneras avCRCResult
objektetsgetDocument
metod). - A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
com.adobe.idp.Document
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
The
generatePDFOutput2
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden. - A
-
Utför en åtgärd med formulärdataströmmen.
- Hämta en
com.adobe.idp.Document
objekt som representerar det icke-interaktiva formuläret genom att anropaOutputResult
objektetsgetGeneratedDoc
-metod. - Skapa en
java.io.File
objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .pdf. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avgetGeneratedDoc
metod).
- Hämta en
Se även
Snabbstart (EJB-läge): skicka dokument till utdatatjänsten med Java API
Snabbstart (SOAP-läge): skicka dokument till utdatatjänsten med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skicka dokument till utdatatjänsten med hjälp av webbtjänstens API pass-documents-to-the-output-service-using-the-web-service-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):
-
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 kopplad till 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 kopplad till dokumenthanteringstjänsten:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.På grund av
BLOB
datatypen är gemensam för båda tjänstreferenserna, och kvalificera fullt utBLOB
datatyp när du använder den. I motsvarande webbtjänsts snabbstart är allaBLOB
-instanser är kvalificerade.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
). Du behöver inte användalc_version
-attribut. Detta attribut används när du skapar en tjänstreferens.) -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Tilldela AEM formuläranvändarnamn till fältet
-
Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Upprepa dessa steg för DocumentManagementServiceClient
tjänstklient. -
-
Hämta formulärdesignen från Content Services (utgått).
Hämta innehåll genom att anropa
DocumentManagementServiceClient
objektetsretrieveContent
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ändiga, 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.
- A
BLOB
utdataparameter som lagrar innehållet. Du kan använda den här utdataparametern för att hämta innehållet. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
utdataparameter som lagrar innehållsattribut. - A
CRCResult
output-parameter. Du kan använda kommandotBLOB
output-parameter för att hämta innehållet.
- Ett strängvärde som anger den lagringsplats där innehållet läggs till. Standardarkivet är
-
Rendera det icke-interaktiva PDF-formuläret.
Anropa
OutputServiceClient
objektetsgeneratePDFOutput2
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger innehållsroten där de ytterligare resurserna, t.ex. bilderna, finns.
- A
BLOB
det objekt som representerar formulärdesignen (användBLOB
-instans returnerad av Content Services (utgått). - A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
BLOB
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen. - Ett utvärde
BLOB
objekt som fylls i avgeneratePDFOutput2
-metod. ThegeneratePDFOutput2
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 utvärde
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs bara för webbtjänstanrop).
The
generatePDFOutput2
returnerar enBLOB
objekt som innehåller det icke-interaktiva PDF-formuläret. - A
-
Utför en åtgärd med formulärdataströmmen.
- Skapa en
System.IO.FileStream
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
BLOB
objektet har hämtats frångeneratePDFOutput2
-metod. Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
datamedlem. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även
Skicka dokument i databasen till utdatatjänsten passing-documents-located-in-the-repository-to-the-output-service
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 en com.adobe.idp.Document
objekt som innehåller formulärdesignen för Output-tjänsten. Utdatatjänsten återger sedan formulärdesignen i com.adobe.idp.Document
-objekt.
En fördel med att skicka en com.adobe.idp.Document
-objektet till Output-tjänsten är att andra AEM Forms-serviceåtgärder returnerar ett com.adobe.idp.Document
-instans. Du kan alltså få 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.
The 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 Output-tjänsten i en 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 (visar hur du skickar platsen för XDP-filen med referens).
Snabbstart (EJB-läge): skicka ett dokument i AEM Forms-databasen till utdatatjänsten med Java API (visar hur du programmässigt hämtar XDP-filen från AEM Forms-databasen och skickar den till Output-tjänsten i en com.adobe.idp.Document
-instans). (I det här avsnittet beskrivs hur du utför den här uppgiften)
Sammanfattning av steg summary_of_steps-3
Så här skickar du ett dokument som hämtats från AEM Forms-databasen till Output-tjänsten:
- Inkludera projektfiler.
- Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.
- Hämta formulärdesignen från AEM Forms-databasen.
- Rendera det icke-interaktiva PDF-formuläret.
- 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 AEM Forms Repository
Hämta XDP-filen från AEM Forms-databasen med API:t för databas. (Se Läser resurser.)
XDP-filen returneras inom en com.adobe.idp.Document
instans (eller en BLOB
om du använder webbtjänster). Du kan sedan skicka com.adobe.idp.Document
-instans i Output-tjänsten.
Återge det icke-interaktiva PDF-formuläret
Om du vill återge ett icke-interaktivt formulär skickar du com.adobe.idp.Document
instans som returnerades med AEM Forms Repository API.
generatePDFOutput2
och generatePrintedOutput2
acceptera 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 en utskriftsström skickas 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 i databasen till utdatatjänsten med Java API
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Output Service API
ResursDatabasKlient
Skicka dokument i databasen till utdatatjänsten med Java API pass-documents-located-in-the-repository-to-the-output-service-using-the-java-api
Skicka ett dokument som hämtats från databasen med hjälp av utdatatjänsten och databas-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar och adobe-database-client.jar, i Java-projektets klassökväg.
-
Skapa ett utdata och ett API-objekt för dokumenthanteringsklienten.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. (Se Ange anslutningsegenskaper.) - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt. - Skapa en
DocumentManagementServiceClientImpl
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Hämta formulärdesignen från AEM Forms Repository.
Anropa
ResourceRepositoryClient
objektetsreadResourceContent
och skicka ett strängvärde som anger URI-platsen till XDP-filen. Till exempel:/Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. Detta värde är obligatoriskt. Den här metoden returnerar encom.adobe.idp.Document
-instans som representerar XDP-filen. -
Rendera det icke-interaktiva PDF-formuläret.
Anropa
OutputClient
objektetsgeneratePDFOutput2
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger innehållsroten där de ytterligare resurserna, t.ex. bilderna, finns. Till exempel:
repository:///Applications/FormsApplication/1.0/FormsFolder/
. - A
com.adobe.idp.Document
objektet som representerar formulärdesignen (använd instansen som returneras avResourceRepositoryClient
objektetsreadResourceContent
metod). - A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
com.adobe.idp.Document
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
The
generatePDFOutput2
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden. - A
-
Utför en åtgärd med formulärdataströmmen.
- Hämta en
com.adobe.idp.Document
objekt som representerar det icke-interaktiva formuläret genom att anropaOutputResult
objektetsgetGeneratedDoc
-metod. - Skapa en
java.io.File
objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .pdf. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avgetGeneratedDoc
metod).
- Hämta en
Se även
Snabbstart (EJB-läge): skicka ett dokument i AEM Forms-databasen till utdatatjänsten med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skapa PDF-dokument med fragment creating-pdf-documents-using-fragments
Du kan använda utdata- och Assembler-tjänsterna för att skapa en utdataström, till exempel ett PDF-dokument, som är baserad på fragment. Assembler-tjänsten sätter ihop ett XDP-dokument som är baserat på fragment i flera XDP-filer. Det monterade XDP-dokumentet skickas till utdatatjänsten, som skapar ett PDF-dokument. Även om det här arbetsflödet visar att ett PDF-dokument genereras kan utdatatjänsten generera andra utdatatyper, som ZPL, för det här arbetsflödet. Ett PDF-dokument används endast i diskussionssyfte.
Följande bild visar det här arbetsflödet.
Före läsning Skapa PDF-dokument med fragment Vi rekommenderar att du lär dig att använda Assembler-tjänsten för att sammanställa flera XDP-dokument. (Se Sammanställa flera XDP-fragment.)
Sammanfattning av steg summary_of_steps-4
Så här skapar du ett PDF-dokument baserat på fragment:
- Inkludera projektfiler.
- Skapa ett Output and Assembler Client-objekt.
- Använd Assembler-tjänsten för att generera formulärdesignen.
- Använd utdatatjänsten för att generera PDF-dokumentet.
- Spara PDF-dokumentet som en PDF-fil.
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.
Skapa ett Output and Assembler-klientobjekt
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 anropar Assembler-tjänsten för att skapa formulärdesignen skapar du ett Assembler Client API-objekt.
Använd Assembler-tjänsten för att generera formulärdesignen
Använd Assembler-tjänsten för att generera formulärdesignen med fragment. Assembler-tjänsten returnerar com.adobe.idp.Document
-instans som innehåller formulärdesignen.
Använd utdatatjänsten för att generera PDF-dokumentet
Du kan använda utdatatjänsten för att skapa ett PDF-dokument med hjälp av den formulärdesign som Assembler-tjänsten skapade. Skicka com.adobe.idp.Document
instans när Assembler-tjänsten returnerade till Output-tjänsten.
Spara PDF-dokumentet som en PDF-fil
När utdatatjänsten har genererat ett PDF-dokument kan du spara det som en PDF-fil.
Se även
Skapa ett PDF-dokument baserat på fragment med Java API
Skapa ett PDF-dokument baserat på fragment med webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Output Service API
Sammanställa flera XDP-fragment
Skapa ett PDF-dokument baserat på fragment med Java API create-a-pdf-document-based-on-fragments-using-the-java-api
Skapa ett PDF-dokument baserat på fragment med hjälp av API:t för utdatatjänsten och API:t för Assembler-tjänsten (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output and Assembler Client-objekt.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt. - Skapa en
AssemblerServiceClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Använd Assembler-tjänsten för att generera formulärdesignen.
Anropa
AssemblerServiceClient
objektetsinvokeDDX
och skicka följande obligatoriska värden:- A
com.adobe.idp.Document
-objekt som representerar det DDX-dokument som ska användas. - A
java.util.Map
-objekt som innehåller XDP-indatafilerna. - A
com.adobe.livecycle.assembler.client.AssemblerOptionSpec
-objekt som anger körningsalternativen, inklusive standardteckensnitt och jobbloggsnivå.
The
invokeDDX
returnerar encom.adobe.livecycle.assembler.client.AssemblerResult
objekt som innehåller det monterade XDP-dokumentet. Så här hämtar du det monterade XDP-dokumentet:- Anropa
AssemblerResult
objektetsgetDocuments
-metod. Den här metoden returnerar enjava.util.Map
-objekt. - Iterera genom
java.util.Map
tills du hittar resultatetcom.adobe.idp.Document
-objekt. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att extrahera det monterade XDP-dokumentet.
- A
-
Använd utdatatjänsten för att generera PDF-dokumentet.
Anropa
OutputClient
objektetsgeneratePDFOutput2
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
- Ett strängvärde som anger innehållsroten där de ytterligare resurserna, till exempel bilder, finns
- A
com.adobe.idp.Document
objekt som representerar formulärdesignen (använd instansen som returneras av tjänsten Assembler) - A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning - The
com.adobe.idp.Document
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen
The
generatePDFOutput2
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden - A
-
Spara PDF-dokumentet som en PDF-fil.
- Hämta en
com.adobe.idp.Document
det objekt som representerar PDF-dokumentet genom att anropaOutputResult
objektetsgetGeneratedDoc
-metod. - Skapa en
java.io.File
objekt som innehåller resultatet av åtgärden. Kontrollera att filnamnstillägget är .pdf. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen. (Se till att du användercom.adobe.idp.Document
det objekt somgetGeneratedDoc
returnerad metod.)
- Hämta en
Se även
Snabbstart (EJB-läge): Skapa ett PDF-dokument baserat på fragment med Java API
Snabbstart (SOAP-läge): Skapa ett PDF-dokument baserat på fragment med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skapa ett PDF-dokument baserat på fragment med webbtjänstens API create-a-pdf-document-based-on-fragments-using-the-web-service-api
Skapa ett PDF-dokument baserat på fragment med hjälp av API:t för utdatatjänsten och API:t för Assembler-tjänsten (webbtjänst):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Använd följande WSDL-definition för den tjänstreferens som är kopplad till utdatatjänsten:
code language-java 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 Assembler-tjänsten:
code language-java http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.
På grund av
BLOB
datatypen är gemensam för båda tjänstreferenserna, och kvalificera fullt utBLOB
datatyp när du använder den. I motsvarande webbtjänsts snabbstart är allaBLOB
-instanser är kvalificerade.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output and Assembler Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
fält. - Tilldela motsvarande lösenordsvärde till
OutputServiceClient.ClientCredentials.UserName.Password
fält. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
tillBasicHttpBindingSecurity.Transport.ClientCredentialType
fält.
- Tilldela användarnamnet för AEM formulär till
-
Tilldela
BasicHttpSecurityMode.TransportCredentialOnly
konstantvärdet tillBasicHttpBindingSecurity.Security.Mode
fält.
note note NOTE Upprepa dessa steg för AssemblerServiceClient
-objekt. -
-
Använd Assembler-tjänsten för att generera formulärdesignen.
Anropa
AssemblerServiceClient
objektetsinvokeDDX
och skicka följande värden:- A
BLOB
objekt som representerar DDX-dokumentet - The
MyMapOf_xsd_string_To_xsd_anyType
objekt som innehåller de nödvändiga filerna - An
AssemblerOptionSpec
objekt som anger körningsalternativ
The
invokeDDX
returnerar enAssemblerResult
som innehåller resultatet av jobbet och eventuella undantag som inträffade. Utför följande åtgärder för att hämta det nya XDP-dokumentet:- Öppna
AssemblerResult
objektetsdocuments
fält, vilket är ettMap
objekt som innehåller de resulterande PDF-dokumenten. - Iterera genom
Map
objekt för att hämta den sammansatta formulärdesignen. Kasta den arraymedlemmensvalue
tillBLOB
. GodkännBLOB
-instans till Output-tjänsten.
- A
-
Använd utdatatjänsten för att generera PDF-dokumentet.
Anropa
OutputServiceClient
objektetsgeneratePDFOutput2
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger innehållsroten där de ytterligare resurserna, t.ex. bilder, finns.
- A
BLOB
det objekt som representerar formulärdesignen (användBLOB
-instans som returneras av Assembler-tjänsten). - A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
BLOB
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen. - Ett utvärde
BLOB
det objekt somgeneratePDFOutput2
metoden fylls i. ThegeneratePDFOutput2
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 utvärde
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs bara för webbtjänstanrop).
The
generatePDFOutput2
returnerar enBLOB
objekt som innehåller det icke-interaktiva PDF-formuläret. - A
-
Spara PDF-dokumentet som en PDF-fil.
- Skapa en
System.IO.FileStream
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
BLOB
objektet har hämtats frångeneratePDFOutput2
-metod. Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
datamedlem. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även
Skriva ut till filer printing-to-files
Du kan använda utdatatjänsten för att skriva ut strömmar som PostScript, Printer Control Language (PCL) eller följande etikettformat till en fil:
- Zebra - ZPL
- Intermec - IPL
- Datamax - DPL
- TecToshiba - TPCL
Med hjälp av tjänsten Output kan du sammanfoga XML-data med en formulärdesign och skriva ut formuläret till en fil. Följande bild visar hur Output-tjänsten skapar laserfiler och etikettfiler.
Sammanfattning av steg summary_of_steps-5
Så här skriver du ut till en fil:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Referera till en XML-datakälla.
- Ange alternativ för utskriftskörning som krävs för att skriva ut till en fil.
- Skriv ut utskriftsströmmen till en fil.
- 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 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 används i 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å. (Se Inkludera AEM Forms Java-biblioteksfiler.)
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 en OutputClient
-objekt. Om du använder webbtjänstens API för utdata skapar du en OutputServiceService
-objekt.
Referera en XML-datakälla
Om du vill skriva ut ett dokument som innehåller data måste du referera till en XML-datakälla som innehåller 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 utskrift som krävs för att skriva ut till en fil
Om du vill skriva ut till en fil måste du ange körningsalternativet Fil-URI genom att ange plats och namn för filen som utdatatjänsten skriver ut på. Om du till exempel vill instruera Output-tjänsten att skriva ut en PostScript-fil med namnet MortgageForm.ps Om du vill C:\Adobe anger du C:\Adobe\MortgageForm.ps.
PrintedOutputOptionsSpec
klassreferens i AEM Forms API-referens.Skriva ut utskriftsströmmen till en fil
När du har refererat till en giltig XML-datakälla som innehåller formulärdata och angett alternativ för utskriftskörning, kan du anropa utdatatjänsten, vilket gör att den skriver ut en fil.
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
Skriva ut till filer med Java API
Skriva ut till filer med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Output Service API
Skriva ut till filer med Java API print-to-files-using-the-java-api
Skriva ut till en fil med hjälp av utdata-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera till en XML-datakälla.
- Skapa en
java.io.FileInputStream
-objekt som representerar XML-datakällan som används för att fylla i dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för XML-filen. - Skapa en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Ange alternativ för utskriftskörning som krävs för att skriva ut till en fil.
- Skapa en
PrintedOutputOptionsSpec
genom att använda dess konstruktor. - Ange filen genom att anropa PrintedOutputOptionsSpec-objektets
setFileURI
och skickar ett strängvärde som representerar filens namn och plats. Om du till exempel vill att utdatatjänsten ska skriva ut till en PostScript-fil med namnet MortgageForm.ps i C:\Adobe anger du C:\Adobe\MortgageForm.ps. - Ange antalet kopior som ska skrivas ut genom att anropa
PrintedOutputOptionsSpec
objektetssetCopies
och skickar ett heltalsvärde som representerar antalet kopior.
- Skapa en
-
Skriv ut utskriftsströmmen till en fil.
Skriva ut till en fil genom att anropa
OutputClient
objektetsgeneratePrintedOutput
och skicka följande värden:- A
PrintFormat
uppräkningsvärde som anger vilket utskriftsströmformat som ska skapas. Om du till exempel vill skapa en PostScript-utskriftsström skickar duPrintFormat.PostScript
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger platsen för relaterade säkerhetsfiler, t.ex. bildfiler.
- Ett strängvärde som anger platsen för XDC-filen som ska användas (du kan skicka
null
om du har angett att XDC-filen ska användas medPrintedOutputOptionsSpec
-objekt). - The
PrintedOutputOptionsSpec
objekt som innehåller körningsalternativ som krävs för att skriva ut till en fil. - The
com.adobe.idp.Document
-objekt som innehåller XML-datakällan som innehåller formulärdata.
The
generatePrintedOutput
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden.note note NOTE The OutputResult
objektetsgetRecordLevelMetaDataList
metodreturernull
. - A
-
Hämta resultatet av åtgärden.
- Skapa en
com.adobe.idp.Document
objekt som representerar statusen förgeneratePrintedOutput
metod genom att anropaOutputResult
objektetsgetStatusDoc
metodenOutputResult
objektet returnerades avgeneratePrintedOutput
metod). - Skapa en
java.io.File
-objekt som innehåller resultatet av åtgärden. Kontrollera att filtillägget är XML. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avgetStatusDoc
metod).
- Skapa en
Se även
Snabbstart (SOAP-läge): Skriva ut till en fil med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skriva ut till filer med hjälp av webbtjänstens API print-to-files-using-the-web-service-api
Skriva ut till en fil med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till en XML-datakälla.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra formulärdata. - Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som anger platsen för XML-filen som innehåller formulärdata. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelabinaryData
med bytearrayens innehåll.
- Skapa en
-
Ange alternativ för utskriftskörning som krävs för att skriva ut till en fil.
- Skapa en
PrintedOutputOptionsSpec
genom att använda dess konstruktor. - Ange filen genom att tilldela ett strängvärde som representerar platsen och namnet på filen till
PrintedOutputOptionsSpec
objektetsfileURI
datamedlem. Om du till exempel vill att utdatatjänsten ska skriva ut till en PostScript-fil med namnet MortgageForm.ps i C:\Adobe anger du C:\Adobe\MortgageForm.ps. - Ange antalet kopior som ska skrivas ut genom att tilldela ett heltalsvärde som representerar antalet kopior till
PrintedOutputOptionsSpec
objektetscopies
datamedlemmar.
- Skapa en
-
Skriv ut utskriftsströmmen till en fil.
Skriva ut till en fil genom att anropa
OutputServiceService
objektetsgeneratePrintedOutput
och skicka följande värden:- A
PrintFormat
uppräkningsvärde som anger vilket utskriftsströmformat som ska skapas. Om du till exempel vill skapa en PostScript-utskriftsström skickar duPrintFormat.PostScript
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger platsen för relaterade säkerhetsfiler, t.ex. bildfiler.
- Ett strängvärde som anger platsen för XDC-filen som ska användas (du kan skicka
null
om du har angett att XDC-filen ska användas medPrintedOutputOptionsSpec
-objekt). - The
PrintedOutputOptionsSpec
objekt som innehåller alternativ för utskriftskörning som krävs för att skriva ut till en fil. - The
BLOB
-objektet som innehåller XML-datakällan som innehåller formulärdata. - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs endast för webbtjänstanrop.) - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
-metoden fyller i det här objektet med resultatdata. (Det här parametervärdet krävs endast för webbtjänstanrop.) - An
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs endast för webbtjänstanrop.)
- A
-
Hämta resultatet av åtgärden.
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar en XML-filplats som innehåller resultatdata. Kontrollera att filtillägget är XML. - Skapa en bytearray som lagrar datainnehållet i
BLOB
objekt som fylldes i med resultatdata avOutputServiceService
objektetsgeneratePDFOutput
metod (den åttonde parametern). Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
datamedlem. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till XML-filen genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även
Skicka utskriftsströmmar till skrivare sending-print-streams-to-printers
Du kan använda Utdatatjänsten för att skicka utskriftsströmmar som PostScript, Printer Control Language (PCL) eller följande etikettformat till nätverksskrivare:
- Zebra - ZPL
- Intermec - IPL
- Datamax - DPL
- TecToshiba - TPCL
Med hjälp av tjänsten Output kan du sammanfoga XML-data med en formulärdesign och skriva ut formuläret som en utskriftsström. Du kan till exempel skapa en PostScript-utskriftsström och skicka den till en nätverksskrivare. Följande bild visar hur Output-tjänsten skickar utskriftsströmmar till nätverksskrivare.
Sammanfattning av steg summary_of_steps-6
Så här skickar du en utskriftsström till en nätverksskrivare:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Referera till en XML-datakälla.
- Ange alternativ för utskriftskörning
- Hämta ett dokument som ska skrivas ut.
- Skicka dokumentet till en nätverksskrivare.
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 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
Skapa ett klientobjekt för utdatatjänsten innan du programmässigt utför en åtgärd. Om du använder Java API skapar du en OutputClient
-objekt. Om du använder webbtjänstens API för utdata skapar du en OutputServiceClient
-objekt.
Referera en XML-datakälla
Om du vill skriva ut ett dokument som innehåller data måste du referera till en XML-datakälla som innehåller 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 alternativ för utskriftskörning
Du kan ange körningsalternativ när du skickar en utskriftsström till en skrivare, inklusive följande alternativ:
- Kopior: Anger antalet kopior som ska skickas till skrivaren. Standardvärdet är 1.
- Häftning: Ett XCI-alternativ anges när en häftare används. Det här alternativet kan anges i konfigurationsmodellen av elementet staple och används endast för PS- och PCL-skrivare.
- OutputJog: Ett XCI-alternativ anges när utdatasidor ska sammanfogas (fysiskt flyttas i utmatningsfacket). Det här alternativet gäller endast för PS- och PCL-skrivare.
- OutputBin: XCI-värde som används för att aktivera skrivardrivrutinen för att välja lämplig utmatningsfack.
PrintedOutputOptionsSpec
klassreferens.Hämta ett dokument som ska skrivas ut
Hämta en utskriftsström som ska skickas till en skrivare. Du kan till exempel hämta en PostScript-fil och skicka den till en skrivare.
Du kan välja att skicka en PDF-fil om skrivaren stöder PDF. Ett problem med att skicka ett PDF-dokument till en skrivare är dock att varje skrivartillverkare har olika implementeringar av PDF tolken. Det innebär att vissa tillverkare använder Adobe PDF tolkning, men det beror på skrivaren. Andra skrivare har sin egen PDF-tolk. Resultatet av utskriften kan därför variera.
En annan begränsning för att skicka ett PDF-dokument till en skrivare är att det bara skrivs ut. Det går inte att komma åt dubbelsidig utskrift, val av pappersfack och häftning, förutom via skrivarinställningarna.
Om du vill hämta ett dokument att skriva ut använder du generatePrintedOutput
-metod. I följande tabell anges innehållstyper som ställs in för en viss utskriftsström när du använder generatePrintedOutput
-metod.
generatePrintedOutput2
-metod. Men snabbstarterna som är kopplade till avsnittet Skicka utskriftsströmmar till skrivare använder generatePrintedOutput
-metod.Skicka utskriftsströmmen till en nätverksskrivare
När du har hämtat ett dokument som ska skrivas ut kan du anropa utdatatjänsten, vilket gör att den skickar en utskriftsström till en nätverksskrivare. För att utdatatjänsten ska kunna hitta skrivaren måste du ange både utskriftsservern och skrivarnamnet. Dessutom måste du ange utskriftsprotokoll.
Skicka en utskriftsström till en nätverksskrivare med hjälp av utdata-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera en XML-datakälla
- Skapa en
java.io.FileInputStream
-objekt som representerar XML-datakällan som används för att fylla i dokumentet med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för XML-filen. - Skapa en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Ange alternativ för utskriftskörning
Skapa en
PrintedOutputOptionsSpec
objekt som representerar alternativ för utskriftskörning. Du kan till exempel ange hur många kopior som ska skrivas ut genom att anropaPrintedOutputOptionsSpec
objektetssetCopies
-metod.note note NOTE Du kan inte ange sidnumreringsvärdet med PrintedOutputOptionsSpec
objektetssetPagination
om du genererar en ZPL-utskriftsström. Du kan inte heller ange följande alternativ för en ZPL-utskriftsström: OutputJog, PageOffset och Staple. ThesetPagination
metoden är inte giltig för PostScript-generering. Den gäller endast för PCL-generering. -
Hämta ett dokument som ska skrivas ut
-
Hämta ett dokument som ska skrivas ut genom att anropa
OutputClient
objektetsgeneratePrintedOutput
och skicka följande värden:- A
PrintFormat
uppräkningsvärde som anger utskriftsströmmen. Om du till exempel vill skapa en PostScript-utskriftsström skickar duPrintFormat.PostScript
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger platsen för relaterade säkerhetsfiler, t.ex. bildfiler.
- Ett strängvärde som anger platsen för XDC-filen som ska användas.
- The
PrintedOutputOptionsSpec
objekt som innehåller körningsalternativ som krävs för att skriva ut till en fil. - The
com.adobe.idp.Document
objekt som representerar XML-datakällan som innehåller formulärdata som ska sammanfogas med formulärdesignen.
Den här metoden returnerar en
OutputResult
objekt som innehåller resultatet av åtgärden. - A
-
Skapa en
com.adobe.idp.Document
objekt som ska skickas till skrivaren genom att anropaOutputResult
objektgetGeneratedDoc
-metod. Den här metoden returnerar encom.adobe.idp.Document
-objekt.
-
-
Skicka utskriftsströmmen till en nätverksskrivare
Skicka utskriftsströmmen till en nätverksskrivare genom att anropa
OutputClient
objektetssendToPrinter
och skicka följande värden:- A
com.adobe.idp.Document
objekt som representerar utskriftsströmmen som ska skickas till skrivaren. - A
PrinterProtocol
uppräkningsvärde som anger vilket skrivarprotokoll som ska användas. Om du till exempel vill ange SharedPrinter-protokollet skickar duPrinterProtocol.SharedPrinter
. - Ett strängvärde som anger utskriftsserverns namn. Anta att namnet på utskriftsservern är PrintServer1, skicka
\\\PrintSever1
. - Ett strängvärde som anger skrivarens namn. Om skrivarens namn till exempel är Skrivare1, kan du skicka
\\\PrintSever1\Printer1
.
note note NOTE The sendToPrinter
i AEM Forms API i version 8.2.1. - A
Skicka en utskriftsström till en skrivare med hjälp av webbtjänstens API send-a-print-stream-to-a-printer-using-the-web-service-api
Skicka en utskriftsström till en nätverksskrivare med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till en XML-datakälla.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra formulärdata. - Skapa en
System.IO.FileStream
genom att anropa dess konstruktor. Skicka ett strängvärde som anger platsen för XML-filen som innehåller formulärdata. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Bestäm bytearraylängden genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
fält med bytearrayens innehåll.
- Skapa en
-
Ange alternativ för utskriftskörning.
Skapa en
PrintedOutputOptionsSpec
genom att använda dess konstruktor. Du kan till exempel ange antalet kopior som ska skrivas ut genom att tilldela ett heltalsvärde som representerar antalet kopior tillPrintedOutputOptionsSpec
objektetscopies
datamedlem.note note NOTE Du kan inte ange sidnumreringsvärdet med PrintedOutputOptionsSpec
objektetspagination
datamedlem om du genererar en ZPL-utskriftsström. Du kan inte heller ange följande alternativ för en ZPL-utskriftsström: OutputJog, PageOffset och Staple. Thepagination
datamedlemmen är inte giltig för PostScript-generering. Den gäller endast för PCL-generering. -
Hämta ett dokument som ska skrivas ut.
-
Hämta ett dokument som ska skrivas ut genom att anropa
OutputServiceService
objektetsgeneratePrintedOutput
och skicka följande värden:- A
PrintFormat
uppräkningsvärde som anger utskriftsströmmen. Om du till exempel vill skapa en PostScript-utskriftsström skickar duPrintFormat.PostScript
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger platsen för relaterade säkerhetsfiler, t.ex. bildfiler.
- Ett strängvärde som anger platsen för XDC-filen som ska användas.
- The
PrintedOutputOptionsSpec
objekt som innehåller alternativ för utskriftskörning som används när en utskriftsström skickas till en nätverksskrivare. - The
BLOB
-objektet som innehåller XML-datakällan som innehåller formulärdata. - A
BLOB
objekt som fylls i avgeneratePrintedOutput
-metod. ThegeneratePrintedOutput
fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs endast för webbtjänstanrop.) - A
BLOB
objekt som fylls i avgeneratePrintedOutput
-metod. ThegeneratePrintedOutput
-metoden fyller i det här objektet med resultatdata. (Det här parametervärdet krävs endast för webbtjänstanrop.) - An
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs endast för webbtjänstanrop.)
- A
-
Skapa en
BLOB
objekt som ska skickas till skrivaren genom att hämta värdet förOutputResult
objektgeneratedDoc
-metod. Den här metoden returnerar enBLOB
som innehåller PostScript-data som returneras avgeneratePrintedOutput
-metod.
-
-
Skicka utskriftsströmmen till en nätverksskrivare.
Skicka utskriftsströmmen till en nätverksskrivare genom att anropa
OutputClient
objektetssendToPrinter
och skicka följande värden:- A
BLOB
objekt som representerar utskriftsströmmen som ska skickas till skrivaren. - A
PrinterProtocol
uppräkningsvärde som anger vilket skrivarprotokoll som ska användas. Om du till exempel vill ange SharedPrinter-protokollet skickar duPrinterProtocol.SharedPrinter
. - A
bool
värde som anger om föregående parametervärde ska användas. Skicka värdettrue
. (Det här parametervärdet krävs endast för webbtjänstanrop.) - Ett strängvärde som anger utskriftsserverns namn. Om du till exempel antar att namnet på utskriftsservern är PrintServer1, skickar du
\\\PrintSever1
. - Ett strängvärde som anger skrivarens namn. Om du till exempel antar att skrivarens namn är Skrivare1, skickar du
\\\PrintSever1\Printer1
.
note note NOTE The sendToPrinter
i AEM Forms API i version 8.2.1. - A
Skapa flera utdatafiler creating-multiple-output-files
Utdatatjänsten kan skapa separata dokument för varje post i en XML-datakälla eller en enda fil som innehåller alla poster (den här funktionen är standard). Anta till exempel att tio poster finns i en XML-datakälla och att du instruerar Output-tjänsten att skapa separata PDF-dokument (eller andra typer av utdata) för varje post med hjälp av API:t för utdatatjänsten. Resultatet blir att Output-tjänsten genererar tio PDF-dokument. (I stället för att skapa dokument kan du skicka flera utskriftsströmmar till en skrivare.)
I följande bild visas också hur Output-tjänsten bearbetar en XML-datafil som innehåller flera poster. Anta dock att du instruerar Output-tjänsten att skapa ett enda PDF-dokument som innehåller alla dataposter. I det här fallet genererar utdatatjänsten ett dokument som innehåller alla poster.
Följande bild visar hur Output-tjänsten bearbetar en XML-datafil som innehåller flera poster. Anta att du instruerar Output-tjänsten att skapa ett separat PDF-dokument för varje datapost. I sådana fall genererar Output-tjänsten ett separat PDF-dokument för varje datapost.
Följande XML-data visar ett exempel på en datafil som innehåller tre dataposter.
<?xml version="1.0" encoding="UTF-8"?>
<batch>
<LoanRecord>
<mortgageAmount>500000</mortgageAmount>
<lastName>Blue</lastName>
<firstName>Tony</firstName>
<SSN>555666777</SSN>
<PositionTitle>Product Manager</PositionTitle>
<Address>555 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>TBlue@NoMailServer.com</Email>
<PhoneNum>555-7418</PhoneNum>
<FaxNum>555-9981</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>300000</mortgageAmount>
<lastName>White</lastName>
<firstName>Sam</firstName>
<SSN>555666222</SSN>
<PositionTitle>Program Manager</PositionTitle>
<Address>557 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SWhite@NoMailServer.com</Email>
<PhoneNum>555-7445</PhoneNum>
<FaxNum>555-9986</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>700000</mortgageAmount>
<lastName>Green</lastName>
<firstName>Steve</firstName>
<SSN>55566688</SSN>
<PositionTitle>Project Manager</PositionTitle>
<Address>445 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SGreeb@NoMailServer.com</Email>
<PhoneNum>555-2211</PhoneNum>
<FaxNum>555-2221</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
</batch>
Observera att XML-elementet som startar och avslutar varje datapost är LoanRecord
. Det här XML-elementet refereras av programlogiken som genererar flera filer.
Sammanfattning av steg summary_of_steps-7
Så här skapar du flera PDF-filer baserade på en XML-datakälla:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Referera till en XML-datakälla.
- Ange körningsalternativ för PDF.
- Ange alternativ för återgivning vid körning.
- Generera flera PDF-filer.
- 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 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 används i 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 en OutputClient
-objekt. Om du använder webbtjänstens API för utdata skapar du en OutputServiceService
-objekt.
Referera en XML-datakälla
Referera till en XML-datakälla som innehåller flera poster. Ett XML-element måste användas för att separera dataposterna. I exempelkoden för XML-datakällan som visades tidigare i det här avsnittet får XML-elementet som avgränsar dataposter ett namn LoanRecord
.
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
Ange följande körningsalternativ för Output-tjänsten för att skapa flera filer baserade på en XML-datakälla:
- Många filer: Anger om utdatatjänsten skapar ett eller flera dokument. Du kan ange true eller false. Om du vill skapa ett separat dokument för varje datapost i XML-datakällan anger du true.
- Fil-URI: Anger platsen för de filer som genereras av utdatatjänsten. Anta till exempel att du anger C:\Adobe\forms\Loan.pdf. I sådana fall skapar Output-tjänsten en fil med namnet Loan.pdf och placerar filen i mappen C:\Adobe\forms. När det finns flera filer är filnamnen Loan0001.pdf, Loan0002.pdf, Loan003.pdf och så vidare. Om du anger en filplats placeras filerna på servern, inte på klientdatorn.
- Postnamn: Anger XML-elementnamnet i datakällan som avgränsar dataposterna. I XML-datakällan som visas tidigare i det här avsnittet anropas till exempel XML-elementet som avgränsar dataposter
LoanRecord
. (I stället för att ange alternativet Postnamn vid körning kan du ange postnivån genom att tilldela den ett numeriskt värde som anger elementnivån som innehåller dataposter. Du kan dock bara ange postnamn eller postnivå. Du kan inte ange båda värdena.)
Ange alternativ för återgivning vid körning
Du kan ange alternativ för återgivning vid körning när du skapar flera filer. Även om dessa alternativ inte är nödvändiga (till skillnad från alternativ för körning av utdata som krävs) kan du utföra åtgärder som att förbättra prestanda för utdatatjänsten. Du kan till exempel cachelagra formulärdesignen som Output-tjänsten använder för att förbättra prestandan.
När utdatatjänsten bearbetar batchposter, läses data som innehåller flera poster stegvis. Det innebär att Output-tjänsten läser data till minnet och frigör data när en grupp med poster bearbetas. Utdatatjänsten läser in data stegvis när något av två körningsalternativ är inställt. Om du anger körningsalternativet Postnamn läser utdatatjänsten in data stegvis. Om du anger körningsalternativet Postnivå till 2 eller högre läser utdatatjänsten in data stegvis.
Du kan kontrollera om utdatatjänsten utför inkrementell inläsning med hjälp av PDFOutputOptionsSpec
eller PrintedOutputOptionSpec
objektets setLazyLoading
-metod. Du kan skicka värdet false
till den här metoden som inaktiverar inkrementell inläsning.
Generera flera PDF-filer
När du har refererat till en giltig XML-datakälla som innehåller flera dataposter och angett körningsalternativ, kan du anropa utdatatjänsten, vilket gör att den genererar flera filer. När du genererar flera poster OutputResult
objektets getGeneratedDoc
metodreturer null
.
Hämta resultatet av åtgärden
När utdatatjänsten har utfört en åtgärd returneras XML-data som anger om åtgärden lyckades. Följande XML returneras av Output-tjänsten. I den här situationen genererade Output Service 42 dokument.
<?xml version="1.0" encoding="UTF-8"?>
<printResult>
<status>0</status>
<requestId>4ad85f9e2</requestId>
<context/>
<messages>
<message>Printed all 42 records successfully.</message>
</messages>
<printSpec>
<input>
<validated>true</validated>
<dataFile recordIdField="" recordLevel="0" recordName="LoanRecord"/>
<sniffRules lookAhead="300"/>
<formDesign>Loan.xdp</formDesign>
<contentRoot>C:\Adobe</contentRoot>
<metadata-spec record="false"/>
</input>
<output>
<format>PDF</format>
<fileURI>C:\Adobe\forms\Loan.pdf</fileURI>
<optionString>cacheenabled=true&padebug=false&linearpdf=false&pdfarevisionnumber=1&pdfaconformance=A&taggedpdf=false&TransactionTimeOut=180</optionString>
<waitForResponse>true</waitForResponse>
<outputStream>multiple</outputStream>
</output>
</printSpec>
</printResult>
Se även
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Output Service API
Skapa flera PDF-filer med Java API create-multiple-pdf-files-using-the-java-api
Skapa flera PDF-filer med hjälp av utdata-API (Java):
-
Inkludera projektfiler"
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera en XML-datakälla
- Skapa en
java.io.FileInputStream
objekt som representerar XML-datakällan som innehåller flera poster med hjälp av dess konstruktor och som skickar ett strängvärde som anger platsen för XML-filen. - Skapa en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Ange körningsalternativ för PDF
- Skapa en
PDFOutputOptionsSpec
genom att använda dess konstruktor. - Ange alternativet Många filer genom att anropa
PDFOutputOptionsSpec
objektetssetGenerateManyFiles
-metod. Skicka till exempel värdettrue
för att instruera Output-tjänsten att skapa en separat PDF-fil för varje post i XML-datakällan. (Om du ger digfalse
, genererar Output-tjänsten ett enda PDF-dokument som innehåller alla poster). - Ange alternativet Fil-URI genom att anropa
PDFOutputOptionsSpec
objektetssetFileUri
och skickar ett strängvärde som anger platsen för de filer som genereras av Output-tjänsten. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn. - Ange alternativet Postnamn genom att anropa alternativet
OutputOptionsSpec
objektetssetRecordName
och skickar ett strängvärde som anger XML-elementnamnet i datakällan som avgränsar dataposterna. (Ta till exempel en titt på XML-datakällan som visades tidigare i det här avsnittet. Namnet på XML-elementet som avgränsar dataposter är LoanRecord).
- Skapa en
-
Ange alternativ för återgivning vid körning
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Cachelagra formulärdesignen för att förbättra prestanda för Output-tjänsten genom att anropa
RenderOptionsSpec
objektetssetCacheEnabled
och skickaBoolean
värde förtrue
.
- Skapa en
-
Generera flera PDF-filer
Generera flera PDF-filer genom att anropa
OutputClient
objektetsgeneratePDFOutput
och skicka följande värden:- A
TransformationFormat
enum-värde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
com.adobe.idp.Document
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen.
The
generatePDFOutput
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden. - A
-
Hämta resultatet av åtgärden
- Skapa en
java.io.File
objekt som representerar en XML-fil som innehåller resultaten avgeneratePDFOutput
-metod. Kontrollera att filnamnstillägget är .xml. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avapplyUsageRights
metod).
- Skapa en
Se även
Snabbstart (EJB-läge): Skapa flera PDF-filer med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skapa flera PDF-filer med hjälp av webbtjänstens API create-multiple-pdf-files-using-the-web-service-api
Skapa flera PDF-filer med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till en XML-datakälla.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra formulärdata som innehåller flera poster. - Skapa en
System.IO.FileStream
genom att anropa dess konstruktor. Skicka ett strängvärde som representerar filplatsen för XML-filen som innehåller flera poster. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
fält med bytearrayens innehåll.
- Skapa en
-
Ange körningsalternativ för PDF.
- Skapa en
PDFOutputOptionsSpec
genom att använda dess konstruktor. - Ange alternativet Många filer genom att tilldela ett booleskt värde till
OutputOptionsSpec
objektetsgenerateManyFiles
datamedlem. Tilldela till exempel värdettrue
till denna datamedlem för att instruera Output-tjänsten att skapa en separat PDF-fil för varje post i XML-datakällan. (Om du tilldelarfalse
till den här datamedlemmen genererar Output-tjänsten en enda PDF som innehåller alla poster). - Ange filens URI-alternativ genom att tilldela ett strängvärde som anger platsen för filen/filerna som utdatatjänsten genererar till
OutputOptionsSpec
objektetsfileURI
datamedlem. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn. - Ange alternativet för postnamn genom att tilldela ett strängvärde som anger XML-elementnamnet i datakällan som avgränsar dataposterna till
OutputOptionsSpec
objektetsrecordName
datamedlem. - Ange alternativet för kopior genom att tilldela ett heltalsvärde som anger antalet kopior som utdatatjänsten genererar till
OutputOptionsSpec
objektetscopies
datamedlem.
- Skapa en
-
Ange alternativ för återgivning vid körning.
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Cachelagra formulärdesignen för att förbättra prestanda för Output-tjänsten genom att tilldela värdet
true
tillRenderOptionsSpec
objektetscacheEnabled
datamedlem.
- Skapa en
-
Generera flera PDF-filer.
Skapa flera PDF-filer genom att anropa
OutputServiceService
objektetsgeneratePDFOutput
och skicka följande värden:- Ett TransformationFormat-uppräkningsvärde. Om du vill generera ett dokument i PDF anger du
TransformationFormat.PDF
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
BLOB
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen. - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
fyller i det här objektet med genererade metadata som beskriver dokumentet. - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
-metoden fyller i det här objektet med resultatdata. - An
OutputResult
objekt som innehåller resultatet av åtgärden.
- Ett TransformationFormat-uppräkningsvärde. Om du vill generera ett dokument i PDF anger du
-
Hämta resultatet av åtgärden
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar en XML-filplats som innehåller resultatdata. Kontrollera att filnamnstillägget är .xml. - Skapa en bytearray som lagrar datainnehållet i
BLOB
objekt som fylldes i med resultatdata avOutputServiceService
objektetsgeneratePDFOutput
metod (den åttonde parametern). Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsbinaryData
datamedlem. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till XML-filen genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även
Skapa sökregler creating-search-rules
Du kan skapa sökregler som resulterar i att Output-tjänsten undersöker indata och använder olika formulärdesigner baserade på datainnehållet för att generera utdata. Om texten pantbrev finns i indata, kan Output-tjänsten använda en formulärdesign som heter Mortgage.xdp. På samma sätt om texten bil finns i indata kan Output-tjänsten använda en formulärdesign som sparas som AutomobleLoan.xdp. Även om utdatatjänsten kan generera olika utdatatyper förutsätter det här avsnittet att utdatatjänsten genererar en PDF-fil. I följande diagram visas hur Output-tjänsten genererar en PDF-fil genom att bearbeta en XML-datafil och använda en av många formulärdesigner.
Dessutom kan utdatatjänsten generera dokumentpaket där flera poster finns i datauppsättningen och varje post matchas mot en formulärdesign och ett dokument skapas som består av flera formulärdesigner.
Sammanfattning av steg summary_of_steps-8
Så här instruerar du utdatatjänsten att använda sökregler när ett dokument skapas:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Referera till en XML-datakälla.
- Definiera sökregler.
- Ange körningsalternativ för PDF.
- Ange alternativ för återgivning vid körning.
- Skapa ett PDF-dokument.
- 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 inkludera 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 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.
Referera en XML-datakälla
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, förutsatt att alla XML-element har angetts.
Definiera sökregler
Om du vill definiera sökregler definierar du ett eller flera textmönster som Output Services söker efter i indata. För varje textmönster som du definierar anger du en motsvarande formulärdesign som används om textmönstret finns. Om det finns ett textmönster använder Output-tjänsten motsvarande formulärdesign för att generera utdata. Ett exempel på ett textmönster är pantbrev.
Ange körningsalternativ för PDF
Ange följande körningsalternativ för PDF för att Output-tjänsten ska kunna skapa ett PDF-dokument baserat på flera formulärdesigner:
- Fil-URI: Anger namn och plats för den PDF-fil som utdatatjänsten genererar.
- Regler: Anger regler som du har definierat.
- LookAHead: Anger antalet byte som ska användas från början av indatafilen för att söka efter definierade textmönster. Standardvärdet är 500 byte.
Ange alternativ för återgivning vid körning
Du kan ange alternativ för återgivning vid körning när du skapar PDF-filer. Även om dessa alternativ inte är nödvändiga (till skillnad från körningsalternativen för PDF) kan du utföra åtgärder som att förbättra prestanda för utdatatjänsten. Du kan till exempel cachelagra formulärdesignen som Output-tjänsten använder för att förbättra prestandan.
Skapa ett PDF-dokument
När du har refererat till en giltig XML-datakälla och angett körningsalternativ kan du anropa utdatatjänsten, vilket resulterar i att ett PDF-dokument skapas. Om utdatatjänsten hittar ett angivet textmönster i indata används motsvarande formulärdesign. Om ett textmönster inte används används standardformulärdesignen.
Hämta resultatet av åtgärden
När utdatatjänsten har utfört en åtgärd returneras XML-data som anger om åtgärden lyckades.
Se även
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Output Service API
Skapa sökregler med Java API create-search-rules-using-the-java-api
Skapa sökregler med hjälp av utdata-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera till en XML-datakälla.
- Skapa en
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 en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Definiera sökregler.
- Skapa en
Rule
genom att använda dess konstruktor. - Definiera ett textmönster genom att anropa
Rule
objektetssetPattern
och skickar ett strängvärde som anger ett textmönster. - Definiera motsvarande formulärdesign genom att anropa
Rule
objektetssetForm
metod . Skicka ett strängvärde som anger formulärdesignens namn.
note note NOTE För varje textmönster som du vill definiera upprepar du de tre föregående delstegen. - Skapa en
java.util.List
objekt genom att användajava.util.ArrayList
konstruktor. - För varje
Rule
som du skapade, anroparjava.util.List
objektetsadd
och skickaRule
-objekt.
- Skapa en
-
Ange körningsalternativ för PDF.
- Skapa en
PDFOutputOptionsSpec
genom att använda dess konstruktor. - Ange namn och plats för den PDF-fil som utdatatjänsten genererar genom att anropa
PDFOutputOptionsSpec
objektetssetFileURI
-metod. Skicka ett strängvärde som anger platsen för PDF-filen. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn. - Ange reglerna som du definierade genom att anropa
PDFOutputOptionsSpec
objektetssetRules
-metod. Skickajava.util.List
objektet som innehållerRule
objekt. - Ange antalet byte som ska genomsökas efter definierade textmönster genom att anropa
PDFOutputOptionsSpec
objektetssetLookAhead
-metod. Skicka ett heltalsvärde som representerar antalet byte.
- Skapa en
-
Ange alternativ för återgivning vid körning.
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Cachelagra formulärdesignen för att förbättra prestanda för Output-tjänsten genom att anropa
RenderOptionsSpec
objektetssetCacheEnabled
och skickatrue
.
- Skapa en
-
Skapa ett PDF-dokument.
Generera ett PDF-dokument som baseras på flera formulärdesigner genom att anropa
OutputClient
objektetsgeneratePDFOutput
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger namnet på standardformulärdesignen. Det vill säga den formulärdesign som används om det inte finns något textmönster.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
com.adobe.idp.Document
objekt som innehåller formulärdata som söks igenom av Output-tjänsten efter definierade textmönster.
The
generatePDFOutput
returnerar enOutputResult
objekt som innehåller resultatet av åtgärden. - A
-
Hämta resultatet av åtgärden.
- Skapa en
com.adobe.idp.Document
objekt som representerar statusen förgeneratePDFOutput
metod genom att anropaOutputResult
objektetsgetStatusDoc
-metod. - Skapa en
java.io.File
-objekt som innehåller resultatet av åtgärden. Kontrollera att filtillägget är .xml. - Anropa
com.adobe.idp.Document
objektetscopyToFile
metod för att kopiera innehållet icom.adobe.idp.Document
till filen (se till att du användercom.adobe.idp.Document
objekt som returneras avgetStatusDoc
metod).
- Skapa en
Se även
Snabbstart (EJB-läge): Skapa sökregler med Java API
Snabbstart (SOAP-läge): Skapa sökregler med Java API
Inkludera AEM Forms Java-biblioteksfiler
Skapa sökregler med webbtjänstens API create-search-rules-using-the-web-service-api
Skapa sökregler med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Referera till en XML-datakälla.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra data som ska sammanfogas med dokumentet PDF. - Skapa en
System.IO.FileStream
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 i vilket filen ska öppnas. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
fält med bytearrayens innehåll.
- Skapa en
-
Definiera sökregler.
- Skapa en
Rule
genom att använda dess konstruktor. - Definiera ett textmönster genom att tilldela ett strängvärde som anger ett textmönster till
Rule
objektetspattern
datamedlem. - Definiera motsvarande formulärdesign genom att tilldela ett strängvärde som anger formulärdesignen till
Rule
objektetsform
datamedlem.
note note NOTE För varje textmönster som du vill definiera upprepar du de tre föregående delstegen. - Skapa en
MyArrayOf_xsd_anyType
objekt som lagrar reglerna. - Tilldela varje
Rule
objekt till ett element iMyArrayOf_xsd_anyType
array. AnropaMyArrayOf_xsd_anyType
objektetsAdd
metod för varjeRule
-objekt.
- Skapa en
-
Ange körningsalternativ för PDF
- Skapa en
PDFOutputOptionsSpec
genom att använda dess konstruktor. - Ange filens URI-alternativ genom att tilldela ett strängvärde som anger platsen för den PDF-fil som utdatatjänsten genererar till
PDFOutputOptionsSpec
objektetsfileURI
datamedlem. Alternativet Fil-URI är relativt till J2EE-programservern som är värd för AEM Forms, inte klientdatorn. - Ange alternativet för kopior genom att tilldela ett heltalsvärde som anger antalet kopior som utdatatjänsten genererar till
PDFOutputOptionsSpec
objektetscopies
datamedlem. - Ange reglerna som du definierade genom att tilldela
MyArrayOf_xsd_anyType
det objekt som lagrar reglerna tillPDFOutputOptionsSpec
objektetsrules
datamedlem. - Ange antalet byte som ska genomsökas efter definierade textmönster genom att tilldela ett heltalsvärde som representerar antalet byte som ska genomsökas till
PDFOutputOptionsSpec
objektetslookAhead
datametod.
- Skapa en
-
Ange alternativ för återgivning vid körning
- Skapa en
RenderOptionsSpec
genom att använda dess konstruktor. - Cachelagra formulärdesignen för att förbättra prestanda för Output-tjänsten genom att tilldela värdet
true
tillRenderOptionsSpec
objektetscacheEnabled
datamedlem.
note note NOTE Du kan inte ange version för PDF-dokumentet med RenderOptionsSpec
objektetspdfVersion
medlem om indatadokumentet är ett Acrobat-formulär. Dokumentet för utdata från PDF behåller PDF-versionen av Acrobat-formuläret. På samma sätt kan du inte ange alternativet PDF med märkord med hjälp avRenderOptionsSpec
objektetstaggedPDF
om indatadokumentet är ett Acrobat-formulär.note note NOTE Du kan inte ange alternativet för linjär PDF med RenderOptionsSpec
objektetslinearizedPDF
medlem om det inmatade PDF-dokumentet är certifierat eller digitalt signerat. Mer information finns i Signera PDF-dokument digitalt. - Skapa en
-
Skapa ett PDF-dokument
Skapa ett PDF-dokument genom att anropa
OutputServiceService
objektetsgeneratePDFOutput
och skicka följande värden:- A
TransformationFormat
uppräkningsvärde. Om du vill generera ett dokument i PDF anger duTransformationFormat.PDF
. - Ett strängvärde som anger formulärdesignens namn.
- Ett strängvärde som anger innehållsroten där formulärdesignen finns.
- A
PDFOutputOptionsSpec
objekt som innehåller körningsalternativ för PDF. - A
RenderOptionsSpec
objekt som innehåller alternativ för återgivning vid körning. - The
BLOB
objekt som innehåller XML-datakällan som innehåller data som ska sammanfogas med formulärdesignen. - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
fyller i det här objektet med genererade metadata som beskriver dokumentet. (Det här parametervärdet krävs bara för webbtjänstanrop). - A
BLOB
objekt som fylls i avgeneratePDFOutput
-metod. ThegeneratePDFOutput
-metoden fyller i det här objektet med resultatdata. (Det här parametervärdet krävs bara för webbtjänstanrop). - An
OutputResult
objekt som innehåller resultatet av åtgärden. (Det här parametervärdet krävs bara för webbtjänstanrop).
note note NOTE När ett PDF-dokument skapas genom att generatePDFOutput
kan du inte sammanfoga data med ett XFA PDF-formulär som är signerat, certifierat eller innehåller användningsrättigheter. Mer information om användningsrättigheter finns i Använda användningsbehörighet för PDF-dokument. - A
-
Hämta resultatet av åtgärden
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar en XML-filplats som innehåller resultatdata. Kontrollera att filtillägget är XML. - Skapa en bytearray som lagrar datainnehållet i
BLOB
objekt som fylldes i med resultatdata avOutputServiceService
objektetsgeneratePDFOutput
metod (den åttonde parametern). Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
datamedlem. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till XML-filen genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även
Förenklar dokument i PDF flattening-pdf-documents
Du kan använda utdatatjänsten för att omvandla ett interaktivt PDF-dokument till ett icke-interaktivt PDF. Med ett interaktivt PDF-dokument kan användare ange eller ändra data som finns i dokumentfälten i PDF. Processen att omforma ett interaktivt PDF-dokument till ett icke-interaktivt PDF-dokument kallas för förenkling. När ett PDF-dokument förenklas kan användaren inte ändra data i dokumentfälten. Ett skäl till att förenkla ett PDF-dokument är att se till att data inte kan ändras.
Du kan förenkla följande typer av PDF-dokument:
- Interaktiva XFA PDF-dokument
- Acrobat Forms
Om du försöker förenkla ett PDF som är ett icke-interaktivt PDF-dokument genereras ett undantag.
Sammanfattning av steg summary_of_steps-9
Så här förenklar du ett interaktivt PDF-dokument till ett icke-interaktivt PDF-dokument:
- Inkludera projektfiler.
- Skapa ett Output Client-objekt.
- Hämta ett interaktivt PDF-dokument.
- Omforma PDF-dokumentet.
- Spara det icke-interaktiva PDF-dokumentet som en PDF-fil.
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 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 används i 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å. Information om platsen för alla AEM Forms JAR-filer finns i Inkludera AEM Forms Java-biblioteksfiler.
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 en OutputClient
-objekt. Om du använder webbtjänstens API för utdata skapar du en OutputServiceService
-objekt.
Hämta ett interaktivt PDF-dokument
Hämta ett interaktivt PDF-dokument som du vill omvandla till ett icke-interaktivt PDF-dokument. Om du försöker omforma ett icke-interaktivt PDF-dokument genereras ett undantagsfel.
Omforma PDF-dokumentet
När du har hämtat ett interaktivt PDF-dokument kan du omvandla det till ett icke-interaktivt PDF-dokument. Utdatatjänsten returnerar ett icke-interaktivt PDF-dokument.
Spara det icke-interaktiva PDF-dokumentet som en PDF-fil
Du kan spara det icke-interaktiva PDF-dokumentet som en PDF-fil.
Se även
Förenkla ett PDF-dokument med Java API
Förenkla ett PDF-dokument med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Output Service API
Förenkla ett PDF-dokument med Java API flatten-a-pdf-document-using-the-java-api
Förenkla ett interaktivt PDF-dokument till ett icke-interaktivt PDF-dokument med hjälp av utdata-API (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-output-client.jar, i Java-projektets klassökväg.
-
Skapa ett Output Client-objekt.
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
OutputClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Hämta ett interaktivt PDF-dokument.
- Skapa en
java.io.FileInputStream
objekt som representerar det interaktiva PDF-dokumentet som ska omformas med hjälp av dess konstruktor och som skickar ett strängvärde som anger platsen för den interaktiva PDF-filen. - Skapa en
com.adobe.idp.Document
genom att använda konstruktorn och skickajava.io.FileInputStream
-objekt.
- Skapa en
-
Omforma PDF-dokumentet.
Omvandla det interaktiva PDF-dokumentet till ett icke-interaktivt PDF-dokument genom att anropa
OutputServiceService
objektetstransformPDF
och skicka följande värden:- The
com.adobe.idp.Document
det objekt som innehåller det interaktiva PDF-dokumentet. - A
TransformationFormat
enum-värde. Om du vill generera ett icke-interaktivt PDF-dokument anger duTransformationFormat.PDF
. - A
PDFARevisionNumber
uppräkningsvärde som anger revisionsnumret. Eftersom den här parametern är avsedd för ett PDF/A-dokument kan du angenull
. - Ett strängvärde som representerar ändringsnumret och året, avgränsat med ett kolon. Eftersom den här parametern är avsedd för ett PDF/A-dokument kan du ange
null
. - A
PDFAConformance
uppräkningsvärde som representerar PDF/A-överensstämmelsenivå. Eftersom den här parametern är avsedd för ett PDF/A-dokument kan du angenull
.
The
transformPDF
returnerar encom.adobe.idp.Document
objekt som innehåller ett icke-interaktivt PDF-dokument. - The
-
Spara det icke-interaktiva PDF-dokumentet som en PDF-fil.
- Skapa en
java.io.File
och se till att filnamnstillägget är .pdf. - Anropa
Document
objektetscopyToFile
metod för att kopiera innehållet iDocument
till filen (se till att du använderDocument
objekt som returneras avtransformPDF
metod).
- Skapa en
Se även
Snabbstart (EJB-läge): Omforma ett PDF-dokument med Java API
Snabbstart (SOAP-läge): Omforma ett PDF-dokument med Java API
Inkludera AEM Forms Java-biblioteksfiler
Förenkla ett PDF-dokument med hjälp av webbtjänstens API flatten-a-pdf-document-using-the-web-service-api
Förenkla ett interaktivt PDF-dokument till ett icke-interaktivt PDF-dokument med hjälp av Output API (webbtjänsten):
-
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
.note note NOTE Ersätt localhost
med IP-adressen till den server där AEM Forms finns. -
Skapa ett Output Client-objekt.
-
Skapa en
OutputServiceClient
genom att använda dess standardkonstruktor. -
Skapa en
OutputServiceClient.Endpoint.Address
genom att användaSystem.ServiceModel.EndpointAddress
konstruktor. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) Du behöver inte användalc_version
-attribut. Det här attributet används när du skapar en tjänstreferens. Ange dock?blob=mtom
för att använda MTOM. -
Skapa en
System.ServiceModel.BasicHttpBinding
genom att hämta värdet förOutputServiceClient.Endpoint.Binding
fält. Skicka returvärdet tillBasicHttpBinding
. -
Ange
System.ServiceModel.BasicHttpBinding
objektetsMessageEncoding
fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela AEM formuläranvändarnamn 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ältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela AEM formuläranvändarnamn till fältet
-
-
Hämta ett interaktivt PDF-dokument.
- Skapa en
BLOB
genom att använda dess konstruktor. TheBLOB
-objektet används för att lagra det interaktiva PDF-dokumentet. - Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det interaktiva PDF-dokumentet. - Skapa en bytearray som lagrar innehållet i
System.IO.FileStream
-objekt. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
objektetsLength
-egenskap. - Fylla i bytearrayen med strömdata genom att anropa
System.IO.FileStream
objektetsRead
och skickar bytearrayen, startpositionen och den flödeslängd som ska läsas. - Fyll i
BLOB
genom att tilldelaMTOM
med bytearrayens innehåll.
- Skapa en
-
Omforma PDF-dokumentet.
Omvandla det interaktiva PDF-dokumentet till ett icke-interaktivt PDF-dokument genom att anropa
OutputClient
objektetstransformPDF
och skicka följande värden:- A
BLOB
det objekt som innehåller det interaktiva PDF-dokumentet. - A
TransformationFormat
uppräkningsvärde. Om du vill generera ett icke-interaktivt PDF-dokument anger duTransformationFormat.PDF
. - A
PDFARevisionNumber
uppräkningsvärde som anger revisionsnumret. - Ett booleskt värde som anger om
PDFARevisionNumber
enum-värde används. Eftersom den här parametern är avsedd för ett PDF/A-dokument kan du angefalse
. - Ett strängvärde som representerar ändringsnumret och året, avgränsat med ett kolon. Eftersom den här parametern är avsedd för ett PDF/A-dokument kan du ange
null
. - A
PDFAConformance
uppräkningsvärde som representerar PDF/A-överensstämmelsenivå. - Booleskt värde som anger om
PDFAConformance
enum-värde används. Eftersom den här parametern är avsedd för ett PDF/A-dokument kan du angefalse
.
The
transformPDF
returnerar enBLOB
objekt som innehåller ett icke-interaktivt PDF-dokument. - A
-
Spara det icke-interaktiva PDF-dokumentet som en PDF-fil.
- Skapa en
System.IO.FileStream
genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det icke-interaktiva PDF-dokumentet. - Skapa en bytearray som lagrar datainnehållet i
BLOB
objekt som returneras avtransformPDF
-metod. Fylla i bytearrayen genom att hämta värdet förBLOB
objektetsMTOM
datamedlem. - Skapa en
System.IO.BinaryWriter
genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objekt. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
objektetsWrite
och skicka bytearrayen.
- Skapa en
Se även