Documentuitvoerstromen maken creating-document-output-streams
Informatie over de uitvoerservice
Met de uitvoerservice kunt u documenten uitvoeren als PDF (inclusief PDF/A-documenten), PostScript, Printer Control Language (PCL) en de volgende labelindelingen:
- Zebra - ZPL
- Intermec, IPL
- Datamax - DPL
- TecToshiba - TPCL
Met de Output-service kunt u XML-formuliergegevens samenvoegen met een formulierontwerp en het document uitvoeren naar een netwerkprinter of een bestand.
Er zijn twee manieren waarop u een formulierontwerp (een XDP-bestand) kunt doorgeven aan de uitvoerservice. U kunt een van beide com.adobe.idp.Document -instantie die een formulierontwerp bevat voor de Output-service. U kunt ook een URI-waarde doorgeven die de locatie van het formulierontwerp opgeeft. Beide manieren worden besproken in Programmeren met AEM formulieren.
In de volgende secties ziet u hoe u een formulierontwerp aan de Output-service doorgeeft met behulp van een URI-waarde:
In de volgende secties ziet u hoe u een formulierontwerp kunt doorgeven in een com.adobe.idp.Document instantie:
Als u bepaalt welke techniek u moet gebruiken, moet u eerst bepalen of u het formulierontwerp van een andere AEM Forms-service ontvangt en het vervolgens binnen een com.adobe.idp.Document -instantie. Beide Documenten doorgeven aan de uitvoerservice en PDF-documenten maken met behulp van fragmenten In deze secties ziet u hoe u een formulierontwerp kunt ophalen van een andere AEM Forms-service. In de eerste sectie wordt het formulierontwerp opgehaald uit Content Services (afgekeurd). In de tweede sectie wordt het formulierontwerp opgehaald uit de Assembler-service.
Als u het formulierontwerp ophaalt vanaf een vaste locatie, zoals het bestandssysteem, kunt u beide methoden gebruiken. U kunt dus de URI-waarde opgeven voor een XDP-bestand of een com.adobe.idp.Document -instantie.
Als u een URI-waarde wilt doorgeven die de locatie van het formulierontwerp opgeeft bij het maken van een PDF-document, gebruikt u de opdracht generatePDFOutput methode. Ook om een com.adobe.idp.Document -instantie gebruiken voor de service Uitvoer wanneer u een PDF-document maakt, generatePDFOutput2 methode.
Wanneer u een uitvoerstream naar een netwerkprinter verzendt, kunt u ook een van de twee technieken gebruiken. Een uitvoerstroom naar een printer verzenden door een com.adobe.idp.Document instantie die een formulierontwerp bevat, gebruikt u de sendToPrinter2methode. Als u een uitvoerstream naar een printer wilt verzenden door een URI-waarde door te geven, gebruikt u de optie sendToPrintermethode. De Afdrukstromen naar printers verzenden de sectie gebruikt de sendToPrinter methode.
U kunt deze taken uitvoeren met de service Uitvoer:
- PDF-documenten maken
- PDF/A-documenten maken
- Het overgaan van Documenten die in de (verlaten) Inhoudsdiensten worden gevestigd aan de Dienst van de Output
- PDF-documenten maken met behulp van fragmenten
- Afdrukken naar bestanden
- Afdrukstromen naar printers verzenden
- Meerdere uitvoerbestanden maken
- Zoekregels maken
- PDF-documenten afvlakken
PDF-documenten maken creating-pdf-documents
Met de service Uitvoer kunt u een PDF-document maken dat is gebaseerd op een formulierontwerp en XML-formuliergegevens die u opgeeft. Het PDF-document dat door de uitvoerservice wordt gemaakt, is geen interactief PDF-document. een gebruiker kan geen formuliergegevens invoeren of wijzigen.
Als u een PDF-document wilt maken dat is bedoeld voor langdurige opslag, is het raadzaam een PDF/A-document te maken. (Zie PDF/A-documenten maken.)
Met de Forms-service kunt u een interactief PDF-formulier maken waarmee een gebruiker gegevens kan invoeren. (Zie Interactieve PDF forms renderen.)
Overzicht van de stappen summary-of-steps
Voer de volgende stappen uit om een PDF-document te maken:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel PDF-uitvoeringsopties in.
- Stel renderingopties in.
- Genereer een PDF-document.
- Haal de resultaten van de bewerking op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (Vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u de bestanden adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd.
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Als u de Java API gebruikt, maakt u een OutputClient object. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService object.
Verwijzen naar een XML-gegevensbron
Als u gegevens wilt samenvoegen met het formulierontwerp, moet u verwijzen naar een XML-gegevensbron die gegevens bevat. Er moet een XML-element aanwezig zijn voor elk formulierveld dat u wilt vullen met gegevens. De naam van het XML-element moet overeenkomen met de veldnaam. Een XML-element wordt genegeerd als het niet overeenkomt met een formulierveld of als de naam van het XML-element niet overeenkomt met de veldnaam. Het is niet nodig de volgorde aan te passen waarin de XML-elementen worden weergegeven als alle XML-elementen zijn opgegeven.
Bekijk het volgende voorbeeld van een aanvraagformulier voor een lening.
Als u gegevens wilt samenvoegen in dit formulierontwerp, moet u een XML-gegevensbron maken die overeenkomt met het formulier. De volgende XML vertegenwoordigt een XDP XML-gegevensbron die overeenkomt met het voorbeeld van een hypotheektoepassing.
<?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>
Opties voor PDF bij uitvoering instellen
Stel de bestands-URI-optie in wanneer u een PDF-document maakt. Met deze optie geeft u de naam en locatie op van het PDF-bestand dat de uitvoerservice genereert.
Renderopties tijdens runtime instellen
U kunt bij het maken van een PDF-document renderingopties instellen. Hoewel deze opties niet vereist zijn (in tegenstelling tot PDF runtime opties die worden vereist), kunt u taken uitvoeren zoals het verbeteren van de prestaties van de Output-service. U kunt bijvoorbeeld het formulierontwerp dat de Output-service gebruikt in cache plaatsen om de prestaties te verbeteren.
Als u een gecodeerd Acrobat-formulier als invoer gebruikt, kunt u de instelling voor getagde invoer niet uitschakelen met de Java- of webservice-API van de Output-service. Als u probeert programmatisch deze optie in te stellen op false, is het resultaat PDF document nog steeds gecodeerd.
RenderOptionsSpec klasseverwijzing. (Zie AEM Forms API-naslag).Een PDF-document genereren
Nadat u naar een geldige XML-gegevensbron met formuliergegevens hebt verwezen en u runtime-opties hebt ingesteld, kunt u de uitvoerservice aanroepen, zodat er een PDF-document wordt gegenereerd.
Wanneer u een PDF-document genereert, geeft u de URI-waarden op die de Output-service nodig heeft om een PDF-document te maken. Een formulierontwerp kan worden opgeslagen op locaties als het serverbestandssysteem of als onderdeel van een AEM Forms-toepassing. Er kan naar een formulierontwerp (of andere bronnen zoals een afbeeldingsbestand) dat als onderdeel van een Forms-toepassing bestaat, worden verwezen door de URI-waarde van de hoofdmap van de inhoud te gebruiken repository:///. Neem bijvoorbeeld het volgende formulierontwerp met de naam Lening.xdp zich bevindt binnen een Forms-toepassing met de naam Applications/FormsApplication:
Als u toegang wilt krijgen tot het bestand Loan.xdp dat in de vorige afbeelding wordt weergegeven, geeft u repository:///Applications/FormsApplication/1.0/FormsFolder/ als de derde parameter die aan de OutputClient object generatePDFOutput methode. Geef de formuliernaam op (Lening.xdp) als de tweede parameter die aan de OutputClient object generatePDFOutput methode.
Als het XDP-bestand afbeeldingen (of andere bronnen zoals fragmenten) bevat, plaatst u de bronnen in dezelfde toepassingsmap als het XDP-bestand. AEM Forms gebruikt de basis-URI van de inhoud als het basispad om verwijzingen naar afbeeldingen op te lossen. Als het bestand Loan.xdp bijvoorbeeld een afbeelding bevat, moet u ervoor zorgen dat u de afbeelding in Applications/FormsApplication/1.0/FormsFolder/.
OutputClient object generatePDFOutput of generatePrintedOutput methoden.De resultaten van de bewerking ophalen
Nadat de dienst van de Output een verrichting uitvoert, keert het diverse gegevenspunten zoals de gegevens van statusXML terug die specificeren of de verrichting succesvol was.
Zie ook
Een PDF-document maken met de Java API
Een PDF-document maken met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Een PDF-document maken met de Java API create-a-pdf-document-using-the-java-api
Een PDF-document maken met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStreamobject dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het PDF-document te vullen met de constructor ervan en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Een
com.adobe.idp.Documentobject met behulp van de constructor. Geef dejava.io.FileInputStreamobject.
- Een
-
Stel PDF-uitvoeringsopties in.
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de optie File URI in door het
PDFOutputOptionsSpecobjectsetFileURImethode. Geef een tekenreekswaarde door die de locatie opgeeft van het PDF-bestand dat de uitvoerservice genereert. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpecobject met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het aanroepen van de
RenderOptionsSpecobjectsetCacheEnableden passerentrue.
note note NOTE U kunt de versie van het PDF-document niet instellen met de opdracht RenderOptionsSpecobjectsetPdfVersionmethode als het invoerdocument een Acrobat-formulier (een formulier dat in Acrobat is gemaakt) of een XFA-document is dat is ondertekend of gecertificeerd. In het uitvoerdocument blijft de oorspronkelijke PDF PDF-versie behouden. Evenzo kunt u de optie Adobe PDF met tags niet instellen door de optieRenderOptionsSpecobjectsetTaggedPDF* als het invoerdocument een Acrobat-formulier of een ondertekend of gecertificeerd XFA-document is. *note note NOTE U kunt de optie Lineaire PDF niet instellen met de opdracht RenderOptionsSpecobjectsetLinearizedPDFals het invoerdocument PDF is gecertificeerd of digitaal is ondertekend. (Zie PDF-documenten digitaal ondertekenen.) - Een
-
Genereer een PDF-document.
Een PDF-document maken door het
OutputClientobjectgeneratePDFOutputen geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutputmethode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat.note note NOTE Wanneer het produceren van een document van de PDF door te halen generatePDFOutput, moet u er rekening mee houden dat u geen gegevens kunt samenvoegen met een ondertekend of gecertificeerd XFA PDF-formulier. (Zie Documenten digitaal ondertekenen en certificeren.)note note NOTE De OutputResultobjectgetRecordLevelMetaDataListmethode retourneertnull.note note NOTE U kunt ook een PDF-document maken door het OutputClientobjectgeneratePDFOutput2methode. (Zie Het overgaan van Documenten die in de (verlaten) Inhoudsdiensten worden gevestigd aan de Dienst van de Output.) - A
-
Haal de resultaten van de bewerking op.
- Een
com.adobe.idp.Documentobject dat de status van hetgeneratePDFOutputdoor deOutputResultobjectgetStatusDocmethode. Deze methode retourneert XML-gegevens met de status die aangeven of de bewerking is geslaagd. - Een
java.io.Fileobject dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .xml is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door degetStatusDocmethode).
Hoewel de dienst van de Output het document van PDF naar de plaats schrijft die door het argument wordt gespecificeerd dat tot wordt overgegaan
PDFOutputOptionsSpecobjectsetFileURImethode, kunt u het PDF/A- document programmatically terugwinnen door het aan te halenOutputResultobjectgetGeneratedDocmethode. - Een
Zie ook
Snel starten (EJB-modus): Een PDF-document maken met de Java API
Snel starten (SOAP-modus): Een PDF-document maken met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een PDF-document maken met de webservice-API create-a-pdf-document-using-the-web-service-api
Maak een PDF-document met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhost* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOBobject met behulp van de constructor. DeBLOBwordt gebruikt om XML-gegevens op te slaan die met het PDF-document worden samengevoegd. - Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het XML-bestand dat formuliergegevens bevat. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenMTOMveld met de inhoud van de bytearray.
- Een
-
Opties voor PDF bij uitvoering instellen
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de optie File URI in door een tekenreekswaarde toe te wijzen die de locatie opgeeft van het PDF-bestand dat de uitvoerservice genereert voor de
PDFOutputOptionsSpecobjectfileURIlid. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpecobject met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door de waarde toe te wijzen
trueaan deRenderOptionsSpecobjectcacheEnabledlid.
note note NOTE U kunt de versie van het PDF-document niet instellen met de opdracht RenderOptionsSpecobjectsetPdfVersionmethode als het invoerdocument een Acrobat-formulier (een formulier dat in Acrobat is gemaakt) of een XFA-document is dat is ondertekend of gecertificeerd. In het uitvoerdocument blijft de oorspronkelijke PDF PDF-versie behouden. Evenzo kunt u de optie Adobe PDF met tags niet instellen door de optieRenderOptionsSpecobjectsetTaggedPDF* als het invoerdocument een Acrobat-formulier of een ondertekend of gecertificeerd XFA-document is.*note note NOTE U kunt de optie Lineaire PDF niet instellen met de opdracht RenderOptionsSpecobjectlinearizedPDFlid als het invoerdocument PDF is gecertificeerd of digitaal is ondertekend. (Zie PDF-documenten digitaal ondertekenen.) - Een
-
Genereer een PDF-document.
Een PDF-document maken door het
OutputServiceServiceobjectgeneratePDFOutputen geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
BLOBobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - An
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
note note NOTE Wanneer het produceren van een document van de PDF door te halen generatePDFOutput, moet u er rekening mee houden dat u geen gegevens kunt samenvoegen met een ondertekend of gecertificeerd XFA PDF-formulier. (Zie Documenten digitaal ondertekenen en certificeren.)note note NOTE U kunt ook een PDF-document maken door het OutputClientobjectgeneratePDFOutput2methode. (Zie Het overgaan van Documenten die in de (verlaten) Inhoudsdiensten worden gevestigd aan de Dienst van de Output.) - A
-
Haal de resultaten van de bewerking op.
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt van een XML-bestand dat resultaatgegevens bevat. Controleer of de bestandsnaamextensie .xml is. - Maak een bytearray waarin de gegevensinhoud van de
BLOBobject dat is gevuld met resultaatgegevens door deOutputServiceServiceobjectgeneratePDFOutputmethode (de achtste parameter). Vul de bytearray met de waarde van deBLOBobjectMTOMfield. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
Zie ook
- Een
AEM Forms aanroepen met SwaRef
OutputServiceService object generateOutput methode is afgekeurd.PDF/A-documenten maken creating-pdf-a-documents
Met de service Uitvoer kunt u een PDF/A-document maken. Omdat PDF/A een archiefindeling is voor langdurige bewaring van de inhoud van het document, worden alle lettertypen ingesloten en wordt het bestand niet gecomprimeerd. Een PDF/A-document is daarom doorgaans groter dan een standaard PDF-document. Bovendien bevat een PDF/A-document geen audio- en video-inhoud. Net als bij andere uitvoerservicetaken kunt u zowel een formulierontwerp als gegevens opgeven die met een formulierontwerp moeten worden samengevoegd om een PDF/A-document te maken.
De PDF/A-1-specificatie bestaat uit twee conformiteitsniveaus, namelijk a en b. Het grootste verschil tussen beide is de logische structuur (toegankelijkheid) die niet vereist is voor niveau b. Ongeacht het compatibiliteitsniveau, dicteert PDF/A-1 dat alle lettertypen zijn ingesloten in het gegenereerde PDF/A-document.
Hoewel PDF/A de norm voor het archiveren van de documenten van de PDF is, is het niet verplicht dat PDF/A voor het archiveren wordt gebruikt als een standaarddocument van de PDF voldoet aan de behoeften van uw bedrijf. Het doel van de PDF/A-standaard is een PDF-bestand te maken dat gedurende een lange periode kan worden opgeslagen en dat voldoet aan de vereisten voor documentbewaring. Een URL kan bijvoorbeeld niet worden ingesloten in een PDF/A omdat de URL na verloop van tijd ongeldig kan worden.
Uw organisatie moet haar eigen behoeften, de tijdsduur beoordelen u van plan bent om het document te houden, dossiergrootte overwegingen, en uw eigen archiveringsstrategie te bepalen. U kunt programmatically bepalen als een document van PDF PDF/A volgzaam is door de dienst te gebruiken DocConverter. (Zie Programmaticaal bepalen van PDF/A-compatibiliteit.)
Een PDF/A-document moet het font gebruiken dat is opgegeven in het formulierontwerp en fonts kunnen niet worden vervangen. Als een lettertype dat zich in een PDF-document bevindt, niet beschikbaar is in het besturingssysteem van de host (OS), treedt daarom een uitzondering op.
Wanneer een PDF/A-document in Acrobat wordt geopend, wordt een bericht weergegeven waarin wordt bevestigd dat het document een PDF/A-document is, zoals in de volgende afbeelding wordt getoond.
Overzicht van de stappen summary_of_steps-1
Voer de volgende stappen uit om een PDF/A-document te maken:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel PDF/A-runtime-opties in.
- Stel renderingopties in.
- Een PDF/A-document genereren.
- Haal de resultaten van de bewerking op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een aangepaste toepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (Vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u de bestanden adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd.
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Als u de Java API gebruikt, maakt u een OutputClient object. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService object.
Verwijzen naar een XML-gegevensbron
Als u gegevens wilt samenvoegen met het formulierontwerp, moet u verwijzen naar een XML-gegevensbron die gegevens bevat. Een XML-element moet bestaan voor elk formulierveld dat u wilt vullen met gegevens. De naam van het XML-element moet overeenkomen met de veldnaam. Een XML-element wordt genegeerd als het niet overeenkomt met een formulierveld of als de naam van het XML-element niet overeenkomt met de veldnaam. Het is niet nodig de volgorde aan te passen waarin de XML-elementen worden weergegeven als alle XML-elementen zijn opgegeven.
Opties voor PDF/A-runtime instellen
U kunt de optie File URI instellen wanneer u een PDF/A-document maakt. De URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms. Dit betekent dat als u C:\Adobe instelt, het bestand naar de map op de server wordt geschreven, niet naar de clientcomputer. De URI geeft de naam en locatie op van het PDF/A-bestand dat de uitvoerservice genereert.
Renderopties tijdens runtime instellen
U kunt renderingopties instellen wanneer u PDF/A-documenten maakt. Twee aan PDF/A verwante opties die u kunt instellen zijn de PDFAConformance en PDFARevisionNumber waarden. De PDFAConformance Met waarde wordt bedoeld hoe een PDF-document voldoet aan vereisten die bepalen hoe elektronische documenten op lange termijn worden bewaard. Geldige waarden voor deze optie zijn A en B. Zie de PDF/A-1 ISO-specificatie met de titel voor informatie over de conformiteit van niveau a en b. ISO 19005-1 Documentbeheer.
De PDFARevisionNumber waarde verwijst naar het revisienummer van een PDF/A-document. Zie de PDF/A-1 ISO-specificatie met de titel voor informatie over het revisienummer van een PDF/A-document ISO 19005-1 Documentbeheer.
false wanneer u een PDF/A 1A-document maakt. PDF/A 1A zal altijd een geëtiketteerd document van de PDF zijn. Bovendien kunt u de optie Adobe PDF met tags niet instellen op true wanneer u een PDF/A 1B-document maakt. PDF/A 1B wordt altijd een niet-gecodeerd PDF-document.Een PDF/A-document genereren
Nadat u naar een geldige XML-gegevensbron met formuliergegevens hebt verwezen en u runtime-opties hebt ingesteld, kunt u de uitvoerservice aanroepen, waardoor er een PDF/A-document wordt gegenereerd.
De resultaten van de bewerking ophalen
Nadat de dienst van de Output een verrichting uitvoert, keert het diverse gegevenspunten zoals de gegevens van XML terug die specificeren of de verrichting succesvol was.
Zie ook
Een PDF/A-document maken met de Java API
Een PDF/A-document maken met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Een PDF/A-document maken met de Java API create-a-pdf-a-document-using-the-java-api
Een PDF/A-document maken met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStreamobject dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het PDF/A-document te vullen met de constructor ervan en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Een
com.adobe.idp.Documentobject door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStreamobject.
- Een
-
Stel PDF/A-runtime-opties in.
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de optie File URI in door het
PDFOutputOptionsSpecobjectsetFileURImethode. Geef een tekenreekswaarde door die de locatie opgeeft van het PDF-bestand dat de uitvoerservice genereert. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpecobject met behulp van de constructor. - Stel de
PDFAConformancewaarde door deRenderOptionsSpecobjectsetPDFAConformancemethode en eenPDFAConformanceenum-waarde die het compatibiliteitsniveau opgeeft. Als u bijvoorbeeld compatibiliteitsniveau A wilt opgeven, geeft uPDFAConformance.A. - Stel de
PDFARevisionNumberwaarde door deRenderOptionsSpecobjectsetPDFARevisionNumbermethode en doorgevenPDFARevisionNumber.Revision_1.
note note NOTE De PDF-versie van een PDF/A-document is 1.4, ongeacht de waarde die u opgeeft voor het RenderOptionsSpecobjectsetPdfVersionmethode. - Een
-
Een PDF/A-document genereren.
Een PDF/A-document maken door het
OutputClientobjectgeneratePDFOutputen geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF/A-document wilt genereren, geeft uTransformationFormat.PDFA. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutputmethode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat.note note NOTE De OutputResultobjectgetRecordLevelMetaDataListmethode retourneertnull*. *note note NOTE U kunt ook een PDF /A-document maken door het OutputClientobjectgeneratePDFOutput2. (Zie Het overgaan van Documenten die in de (verlaten) Inhoudsdiensten worden gevestigd aan de Dienst van de Output.) - A
-
Haal de resultaten van de bewerking op.
- Een
com.adobe.idp.Documentobject dat de status van hetgeneratePDFOutputdoor deOutputResultobjectgetStatusDocmethode. - Een
java.io.File-object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .xml is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door degetStatusDocmethode).
note note NOTE Hoewel de dienst van de Output het PDF/A- document aan de plaats schrijft die door het argument wordt gespecificeerd dat tot wordt overgegaan PDFOutputOptionsSpecobjectsetFileURImethode, kunt u het PDF/A- document programmatically terugwinnen door het aan te halenOutputResultobjectgetGeneratedDoc* methode.* - Een
Zie ook
Snel starten (SOAP-modus): Een PDF/A-document maken met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen.
Een PDF/A-document maken met de webservice-API create-a-pdf-a-document-using-the-web-service-api
Een PDF/A-document maken met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhost* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOBobject met behulp van de constructor. DeBLOB-object wordt gebruikt voor het opslaan van gegevens die worden samengevoegd met het PDF/A-document. - Een
System.IO.FileStream-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het te coderen PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenMTOMveld met de inhoud van de bytearray.
- Een
-
Stel PDF/A-runtime-opties in.
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de optie File URI in door een tekenreekswaarde toe te wijzen die de locatie opgeeft van het PDF-bestand dat de uitvoerservice genereert voor de
PDFOutputOptionsSpecobjectfileURIlid. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpecobject met behulp van de constructor. - Stel de
PDFAConformancewaarde door eenPDFAConformanceenumwaarde aan deRenderOptionsSpecobjectPDFAConformancelid. Als u bijvoorbeeld compatibiliteitsniveau A wilt opgeven, wijst uPDFAConformance.Aaan dit gegevenslid. - Stel de
PDFARevisionNumberwaarde door eenPDFARevisionNumberenumwaarde aan deRenderOptionsSpecobjectPDFARevisionNumberlid. ToewijzenPDFARevisionNumber.Revision_1aan dit gegevenslid.
note note NOTE De PDF-versie van een PDF/A-document is 1.4, ongeacht de waarde die u opgeeft. - Een
-
Een PDF/A-document genereren.
Een PDF-document maken door het
OutputServiceServiceobjectgeneratePDFOutputen geeft de volgende waarden door:- Een opsommingswaarde van TransformationFormat. Als u een PDF-document wilt genereren, geeft u
TransformationFormat.PDFA. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
BLOBobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - An
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
note note NOTE U kunt ook een PDF /A-document maken door het OutputClientobjectgeneratePDFOutput2. (Zie Het overgaan van Documenten die in de (verlaten) Inhoudsdiensten worden gevestigd aan de Dienst van de Output.) - Een opsommingswaarde van TransformationFormat. Als u een PDF-document wilt genereren, geeft u
-
Haal de resultaten van de bewerking op.
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt van een XML-bestand dat resultaatgegevens bevat. Controleer of de bestandsnaamextensie .xml is. - Maak een bytearray waarin de gegevensinhoud van de
BLOBobject dat is gevuld met resultaatgegevens door deOutputServiceServiceobjectgeneratePDFOutputmethode (de achtste parameter). Vul de bytearray met de waarde van deBLOBobjectMTOMveld. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Het overgaan van Documenten die in de (verlaten) Inhoudsdiensten worden gevestigd aan de Dienst van de Output passing-documents-located-in-content-services-deprecated-to-the-output-service
De service Uitvoer genereert een niet-interactief PDF-formulier dat is gebaseerd op een formulierontwerp dat gewoonlijk als een XDP-bestand wordt opgeslagen en in Designer wordt gemaakt. U kunt een com.adobe.idp.Document object dat het formulierontwerp bevat voor de uitvoerservice. De uitvoerservice geeft vervolgens het formulierontwerp weer dat zich bevindt in het dialoogvenster com.adobe.idp.Document object.
Een voordeel van het doorgeven van een com.adobe.idp.Document object naar de Output-service is dat andere AEM Forms-servicebewerkingen een com.adobe.idp.Document -instantie. Dat wil zeggen dat je een com.adobe.idp.Document instantie van een andere servicebewerking en rendert u deze. Stel dat een XDP-bestand wordt opgeslagen in een knooppunt Content Services (afgekeurd) genaamd /Company Home/Form Designs, zoals in de volgende afbeelding wordt getoond.
U kunt Loan.xdp programmatically terugwinnen van de Diensten van de Inhoud (afgekeurd) en het XDP dossier tot de dienst van de Output binnen overgaan com.adobe.idp.Document object.
Overzicht van de stappen summary_of_steps-2
Als u een document dat is verkregen van Content Services (afgekeurd) wilt doorgeven aan de service Uitvoer, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een Output- en een Document Management Client API-object.
- Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
- Het niet-interactieve PDF formulier weergeven.
- Voer een handeling uit met de gegevensstroom.
Projectbestanden opnemen
Neem de benodigde bestanden op voor uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, neemt u de proxybestanden op.
Een Output en een Document Management Client API-object maken
Voordat u programmatisch een uitvoerservice-API-bewerking kunt uitvoeren, maakt u een Output Client-API-object. Omdat met deze workflow een XDP-bestand wordt opgehaald van Content Services (afgekeurd), maakt u ook een Document Management API-object.
Het formulierontwerp ophalen van Content Services (afgekeurd)
Haal het XDP-bestand op van Content Services (afgekeurd) met behulp van de Java- of webservice-API. Het XDP-bestand wordt geretourneerd binnen een com.adobe.idp.Document instantie (of een BLOB -instantie als u webservices gebruikt). U kunt dan de com.adobe.idp.Document naar de service Uitvoer.
Het niet-interactieve PDF formulier weergeven
Als u een niet-interactief formulier wilt genereren, geeft u het com.adobe.idp.Document instantie die van (afgekeurde) Inhoudsdiensten aan de dienst van de Output is teruggekeerd.
generatePDFOutput2en g eneratePrintedOutput2accepteren com.adobe.idp.Document object dat een formulierontwerp bevat. U kunt ook een com.adobe.idp.Documentdie het formulierontwerp naar de uitvoerservice bevat wanneer een afdrukstroom naar een netwerkprinter wordt verzonden.Een handeling uitvoeren met de gegevensstroom van het formulier
U kunt het niet-interactieve formulier opslaan als een PDF-bestand. Het formulier kan worden weergegeven in Adobe Reader of Acrobat.
Zie ook
Documenten doorgeven aan de uitvoerservice met de Java API
Documenten doorgeven aan de uitvoerservice met behulp van de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
PDF-documenten maken met behulp van fragmenten
Documenten doorgeven aan de uitvoerservice met de Java API pass-documents-to-the-output-service-using-the-java-api
Geef een document door dat is opgehaald uit Content Services (afgekeurd) met de Output-service en Content Services (afgekeurd) API (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden voor clients, zoals adobe-output-client.jar en adobe-contentservices-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output- en een Document Management Client API-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. (Zie Verbindingseigenschappen instellen.) - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject. - Een
DocumentManagementServiceClientImplobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
De
DocumentManagementServiceClientImplobjectretrieveContenten geeft de volgende waarden door:- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
SpacesStore. Deze waarde is een verplichte parameter. - Een tekenreekswaarde die het volledig gekwalificeerde pad opgeeft van de inhoud die moet worden opgehaald (bijvoorbeeld
/Company Home/Form Designs/Loan.xdp). Deze waarde is een verplichte parameter. - Een tekenreekswaarde die de versie opgeeft. Deze waarde is een optionele parameter en u kunt een lege tekenreeks doorgeven. In dit geval wordt de laatste versie opgehaald.
De
retrieveContentmethode retourneert eenCRCResultobject dat het XDP-bestand bevat. Eencom.adobe.idp.Documentinstantie door deCRCResultobjectgetDocumentmethode. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Het niet-interactieve PDF formulier weergeven.
De
OutputClientobjectgeneratePDFOutput2en geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden.
- A
com.adobe.idp.Documentobject dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door hetCRCResultobjectgetDocumentmethode). - A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput2methode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat. - A
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Een
com.adobe.idp.Documentobject dat het niet-interactieve formulier vertegenwoordigt door hetOutputResultobjectgetGeneratedDocmethode. - Een
java.io.Fileobject dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .pdf is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door degetGeneratedDocmethode).
- Een
Zie ook
Snel starten (EJB-modus): Documenten doorgeven aan de uitvoerservice met de Java API
Snel starten (SOAP-modus): Documenten doorgeven aan de uitvoerservice met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Documenten doorgeven aan de uitvoerservice met behulp van de webservice-API pass-documents-to-the-output-service-using-the-web-service-api
Geef een document door dat is opgehaald uit Content Services (afgekeurd) met de Output-service en Content Services (afgekeurd) API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Omdat deze cliënttoepassing de twee diensten van AEM Forms aanhaalt, creeer twee de dienstverwijzingen. Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van de Output:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van het Beheer van het Document:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1.Omdat
BLOBhet gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOBgegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOBexemplaren zijn volledig gekwalificeerd.note note NOTE Vervangen localhost* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output- en een Document Management Client API-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom). U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
note note NOTE Herhaal deze stappen voor de DocumentManagementServiceClient* service client. * -
-
Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
Inhoud ophalen door de
DocumentManagementServiceClientobjectretrieveContenten geeft de volgende waarden door:- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
SpacesStore. Deze waarde is een verplichte parameter. - Een tekenreekswaarde die het volledig gekwalificeerde pad opgeeft van de inhoud die moet worden opgehaald (bijvoorbeeld
/Company Home/Form Designs/Loan.xdp). Deze waarde is een verplichte parameter. - Een tekenreekswaarde die de versie opgeeft. Deze waarde is een optionele parameter en u kunt een lege tekenreeks doorgeven. In dit geval wordt de laatste versie opgehaald.
- Een parameter van de koordoutput die doorbladert verbindingswaarde opslaat.
- A
BLOBuitvoerparameter die de inhoud opslaat. U kunt deze uitvoerparameter gebruiken om de inhoud op te halen. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyTypeuitvoerparameter die inhoudskenmerken opslaat. - A
CRCResultuitvoerparameter. In plaats van dit object te gebruiken, kunt u de opdrachtBLOBuitvoerparameter om de inhoud op te halen.
- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Het niet-interactieve PDF formulier weergeven.
De
OutputServiceClientobjectgeneratePDFOutput2en geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden.
- A
BLOBobject dat staat voor het formulierontwerp (gebruik deBLOBinstantie geretourneerd door Content Services (afgekeurd). - A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
BLOBobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een uitvoer
BLOBobject dat wordt gevuld door hetgeneratePDFOutput2methode. DegeneratePDFOutput2Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoer
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
De
generatePDFOutput2methode retourneert eenBLOB-object dat het niet-interactieve PDF-formulier bevat. - A
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het interactieve PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOBobject opgehaald uit hetgeneratePDFOutput2methode. Vul de bytearray met de waarde van deBLOBobjectMTOMlid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
Documenten in de opslagplaats doorgeven aan de uitvoerservice passing-documents-located-in-the-repository-to-the-output-service
De service Uitvoer genereert een niet-interactief PDF-formulier dat is gebaseerd op een formulierontwerp dat gewoonlijk als een XDP-bestand wordt opgeslagen en in Designer wordt gemaakt. U kunt een com.adobe.idp.Document object dat het formulierontwerp bevat voor de uitvoerservice. De uitvoerservice geeft vervolgens het formulierontwerp weer dat zich bevindt in het dialoogvenster com.adobe.idp.Document object.
Een voordeel van het doorgeven van een com.adobe.idp.Document object naar de Output-service is dat andere AEM Forms-servicebewerkingen een com.adobe.idp.Document -instantie. Dat wil zeggen dat je een com.adobe.idp.Document instantie van een andere servicebewerking en rendert u deze. Stel dat een XDP-bestand wordt opgeslagen in de AEM Forms-opslagplaats, zoals in de volgende afbeelding wordt getoond.
De FormsFolder Deze map is een door de gebruiker gedefinieerde locatie in de AEM Forms-opslagplaats (deze locatie is een voorbeeld en bestaat standaard niet). In dit voorbeeld bevindt zich een formulierontwerp met de naam Loan.xdp in deze map. Naast het formulierontwerp kunnen ook andere formulierelementen, zoals afbeeldingen, op deze locatie worden opgeslagen. Het pad naar een bron in de AEM Forms-opslagplaats is:
Applications/Application-name/Application-version/Folder.../Filename
U kunt Loan.xdp programmatically van de bewaarplaats van AEM Forms terugwinnen en het tot de dienst van de Output binnen overgaan com.adobe.idp.Document object.
U kunt op twee manieren een PDF maken op basis van een XDP-bestand in de opslagplaats. U kunt de XDP-locatie doorgeven via verwijzing of u kunt de XDP-locatie via programmacode ophalen uit de opslagplaats en deze doorgeven aan de Output-service in een XDP-bestand.
Snel starten (EJB-modus): Een PDF-document maken op basis van een XDP-bestand van een toepassing met de Java API (geeft aan hoe u de locatie van het XDP-bestand via verwijzing doorgeeft).
Snel starten (EJB-modus): Een document in de AEM Forms Repository doorgeven aan de Output-service met behulp van de Java API (toont hoe u het XDP-bestand programmatisch kunt ophalen uit de AEM Forms Repository en dit kunt doorgeven aan de Output Service in een com.adobe.idp.Document -instantie). (In deze sectie wordt besproken hoe deze taak moet worden uitgevoerd)
Overzicht van de stappen summary_of_steps-3
Voer de volgende taken uit om een document dat is verkregen van de AEM Forms-opslagplaats door te geven aan de Output-service:
- Inclusief projectbestanden.
- Maak een Output- en een Document Management Client API-object.
- Haal het formulierontwerp op uit de AEM Forms-opslagplaats.
- Het niet-interactieve PDF formulier weergeven.
- Voer een handeling uit met de gegevensstroom.
Projectbestanden opnemen
Neem de benodigde bestanden op voor uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, neemt u de proxybestanden op.
Een Output en een Document Management Client API-object maken
Voordat u programmatisch een uitvoerservice-API-bewerking kunt uitvoeren, maakt u een Output Client-API-object. Omdat met deze workflow een XDP-bestand wordt opgehaald van Content Services (afgekeurd), maakt u ook een Document Management API-object.
Het formulierontwerp ophalen uit de AEM Forms Repository
Haal het XDP-bestand op uit de AEM Forms Repository met behulp van de Repository API. (Zie Bronnen lezen.)
Het XDP-bestand wordt geretourneerd binnen een com.adobe.idp.Document instantie (of een BLOB -instantie als u webservices gebruikt). U kunt dan de com.adobe.idp.Document -instantie van de uitvoerservice.
Het niet-interactieve PDF formulier weergeven
Als u een niet-interactief formulier wilt genereren, geeft u het com.adobe.idp.Document instantie die is geretourneerd met de AEM Forms Repository API.
generatePDFOutput2en generatePrintedOutput2accepteren com.adobe.idp.Documentobject dat een formulierontwerp bevat. U kunt ook een com.adobe.idp.Document die het formulierontwerp naar de uitvoerservice bevat wanneer een afdrukstroom naar een netwerkprinter wordt verzonden.Een handeling uitvoeren met de gegevensstroom van het formulier
U kunt het niet-interactieve formulier opslaan als een PDF-bestand. Het formulier kan worden weergegeven in Adobe Reader of Acrobat.
Zie ook
Documenten in de opslagplaats doorgeven aan de uitvoerservice met behulp van de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
ResourceRepositoryClient
Documenten in de opslagplaats doorgeven aan de uitvoerservice met behulp van de Java API pass-documents-located-in-the-repository-to-the-output-service-using-the-java-api
Geef een document dat is opgehaald uit de opslagplaats door gebruik te maken van de Output-service en de Repository-API (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden voor clients, zoals adobe-output-client.jar en adobe-repository-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output- en een Document Management Client API-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. (Zie Verbindingseigenschappen instellen.) - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject. - Een
DocumentManagementServiceClientImplobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Haal het formulierontwerp op uit de AEM Forms Repository.
De
ResourceRepositoryClientobjectreadResourceContentmethode en geef een tekenreekswaarde door die de URI-locatie opgeeft aan het XDP-bestand. Bijvoorbeeld,/Applications/FormsApplication/1.0/FormsFolder/Loan.xdp. Deze waarde is verplicht. Deze methode retourneert eencom.adobe.idp.Document-instantie die het XDP-bestand vertegenwoordigt. -
Het niet-interactieve PDF formulier weergeven.
De
OutputClientobjectgeneratePDFOutput2en geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden. Bijvoorbeeld,
repository:///Applications/FormsApplication/1.0/FormsFolder/. - A
com.adobe.idp.Documentobject dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door hetResourceRepositoryClientobjectreadResourceContentmethode). - A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput2methode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat. - A
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Een
com.adobe.idp.Documentobject dat het niet-interactieve formulier vertegenwoordigt door hetOutputResultobjectgetGeneratedDocmethode. - Een
java.io.Fileobject dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .pdf is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door degetGeneratedDocmethode).
- Een
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten maken met behulp van fragmenten creating-pdf-documents-using-fragments
Met de services Uitvoer en Samenstellen kunt u een uitvoerstream maken, zoals een PDF-document, die is gebaseerd op fragmenten. De Assembler-service brengt een XDP-document samen dat is gebaseerd op fragmenten die zich in meerdere XDP-bestanden bevinden. Het samengevoegde XDP-document wordt doorgegeven aan de Output-service, die een PDF-document maakt. Hoewel deze workflow een PDF-document weergeeft dat wordt gegenereerd, kan de Output-service andere uitvoertypen genereren, zoals ZPL, voor deze workflow. Een PDF-document wordt alleen gebruikt voor discussiedoeleinden.
Deze workflow wordt in de volgende afbeelding getoond.
Voor lezen PDF-documenten maken met behulp van fragmenten Daarom wordt u aangeraden bekend te raken met het gebruik van de Assembler-service voor het samenstellen van meerdere XDP-documenten. (Zie Meerdere XDP-fragmenten samenstellen.)
Overzicht van de stappen summary_of_steps-4
Voer de volgende stappen uit om een PDF-document te maken op basis van fragmenten:
- Inclusief projectbestanden.
- Maak een Output- en Assembler Client-object.
- Gebruik de Assembler-service om het formulierontwerp te genereren.
- Gebruik de service Uitvoer om het PDF-document te genereren.
- Sla het PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
Een Output- en Assembler Client-object maken
Voordat u programmatisch een uitvoerservice-API-bewerking kunt uitvoeren, maakt u een Output Client API-object. Bovendien maakt u een Assembler Client API-object omdat deze workflow de Assembler-service oproept om het formulierontwerp te maken.
Met de Assembler-service kunt u het formulierontwerp genereren
Met de Assembler-service kunt u het formulierontwerp genereren met behulp van fragmenten. De dienst van de Assembler keert a terug com.adobe.idp.Document instantie die het formulierontwerp bevat.
De service Uitvoer gebruiken om het PDF-document te genereren
U kunt de service Uitvoer gebruiken om een PDF-document te genereren met behulp van het formulierontwerp dat de Assembler-service heeft gemaakt. Geef de com.adobe.idp.Document instantie die de dienst van de Assembler aan de dienst van de Output terugkwam.
Het PDF-document opslaan als een PDF-bestand
Nadat de service Uitvoer een PDF-document heeft gegenereerd, kunt u het opslaan als een PDF-bestand.
Zie ook
Een PDF-document maken op basis van fragmenten met de Java API
Een PDF-document maken op basis van fragmenten met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Meerdere XDP-fragmenten samenstellen
Een PDF-document maken op basis van fragmenten met de Java API create-a-pdf-document-based-on-fragments-using-the-java-api
Maak een PDF-document op basis van fragmenten met de API voor uitvoerservice en de API voor vergaderingsservice (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output- en Assembler Client-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject. - Een
AssemblerServiceClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Gebruik de Assembler-service om het formulierontwerp te genereren.
De
AssemblerServiceClientobjectinvokeDDXen geeft de volgende vereiste waarden door:- A
com.adobe.idp.Document-object dat het te gebruiken DDX-document vertegenwoordigt. - A
java.util.Map-object dat de invoer-XDP-bestanden bevat. - A
com.adobe.livecycle.assembler.client.AssemblerOptionSpec-object dat de runtime-opties opgeeft, inclusief het standaardfont en het taaklogniveau.
De
invokeDDXmethode retourneert eencom.adobe.livecycle.assembler.client.AssemblerResultobject dat het geassembleerde XDP-document bevat. Voer de volgende handelingen uit om het samengevoegde XDP-document op te halen:- De
AssemblerResultobjectgetDocumentsmethode. Deze methode retourneert eenjava.util.Mapobject. - Doorlopen
java.util.Mapobject tot u het resultaat hebt gevondencom.adobe.idp.Documentobject. - De
com.adobe.idp.DocumentobjectcopyToFilemethode voor het extraheren van het samengevoegde XDP-document.
- A
-
Gebruik de service Uitvoer om het PDF-document te genereren.
De
OutputClientobjectgeneratePDFOutput2en geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden
- A
com.adobe.idp.Documentobject dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door de Assembler-service wordt geretourneerd) - A
PDFOutputOptionsSpecobject dat PDF-runtime-opties bevat - A
RenderOptionsSpecobject dat renderingopties bevat - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd
De
generatePDFOutput2methode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat - A
-
Sla het PDF-document op als een PDF-bestand.
- Een
com.adobe.idp.Documentobject dat het PDF-document vertegenwoordigt door hetOutputResultobjectgetGeneratedDocmethode. - Een
java.io.Fileobject dat de resultaten van de bewerking bevat. Zorg ervoor dat de bestandsnaamextensie .pdf is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentnaar het bestand. (Zorg ervoor dat u decom.adobe.idp.Documentobject datgetGeneratedDocgeretourneerde methode.)
- Een
Zie ook
Snel starten (EJB-modus): Een PDF-document maken op basis van fragmenten met de Java API
Snel starten (SOAP-modus): Een PDF-document maken op basis van fragmenten met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen.
Een PDF-document maken op basis van fragmenten met de webservice-API create-a-pdf-document-based-on-fragments-using-the-web-service-api
Maak een PDF-document op basis van fragmenten met de API voor uitvoerservice en de API voor vergaderingsservice (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van de Output:
code language-as3 http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van de Assembler:
code language-as3 http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.Omdat
BLOBhet gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOBgegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOBexemplaren zijn volledig gekwalificeerd.note note NOTE Vervangen localhost* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output- en Assembler Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam voor AEM formulieren toe aan de
OutputServiceClient.ClientCredentials.UserName.UserNameveld. - Wijs de overeenkomstige wachtwoordwaarde aan toe
OutputServiceClient.ClientCredentials.UserName.Passwordveld. - De constante waarde toewijzen
HttpClientCredentialType.Basicaan deBasicHttpBindingSecurity.Transport.ClientCredentialTypeveld.
- Wijs de gebruikersnaam voor AEM formulieren toe aan de
-
Wijs het
BasicHttpSecurityMode.TransportCredentialOnlyconstante waarde voor deBasicHttpBindingSecurity.Security.Modeveld.
note note NOTE Herhaal deze stappen voor de AssemblerServiceClient* object. * -
-
Gebruik de Assembler-service om het formulierontwerp te genereren.
De
AssemblerServiceClientobjectinvokeDDXen geeft de volgende waarden door:- A
BLOBobject dat staat voor het DDX-document - De
MyMapOf_xsd_string_To_xsd_anyTypeobject dat de vereiste bestanden bevat - An
AssemblerOptionSpecobject dat uitvoeringsopties opgeeft
De
invokeDDXmethode retourneert eenAssemblerResultobject dat de resultaten van de taak en eventuele uitzonderingen bevat die zijn opgetreden. Voer de volgende handelingen uit om het nieuwe XDP-document te verkrijgen:- Toegang krijgen tot
AssemblerResultobjectdocumentsveld, dat eenMap-object dat de resulterende PDF-documenten bevat. - Doorlopen
Mapobject om het samengevoegde formulierontwerp op te halen. Cast het lid van die arrayvalueeenBLOB. Dit doorgevenBLOBnaar de service Uitvoer.
- A
-
Gebruik de service Uitvoer om het PDF-document te genereren.
De
OutputServiceClientobjectgeneratePDFOutput2en geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden.
- A
BLOBobject dat staat voor het formulierontwerp (gebruik deBLOB-instantie die door de Assembler-service wordt geretourneerd). - A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
BLOBobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een uitvoer
BLOBobject datgeneratePDFOutput2wordt gevuld. DegeneratePDFOutput2Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoer
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
De
generatePDFOutput2methode retourneert eenBLOB-object dat het niet-interactieve PDF-formulier bevat. - A
-
Sla het PDF-document op als een PDF-bestand.
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het interactieve PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOBobject opgehaald uit hetgeneratePDFOutput2methode. Vul de bytearray met de waarde van deBLOBobjectMTOMlid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
Afdrukken naar bestanden printing-to-files
U kunt de uitvoerservice gebruiken om streams zoals PostScript, Printer Control Language (PCL) of de volgende labelindelingen naar een bestand af te drukken:
- Zebra - ZPL
- Intermec, IPL
- Datamax - DPL
- TecToshiba - TPCL
Met de service Uitvoer kunt u XML-gegevens samenvoegen met een formulierontwerp en het formulier afdrukken naar een bestand. In de volgende afbeelding ziet u hoe de uitvoerservice laser- en labelbestanden maakt.
Overzicht van de stappen summary_of_steps-5
Voer de volgende stappen uit om naar een bestand af te drukken:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Druk de afdrukstroom naar een bestand af.
- Haal de resultaten van de bewerking op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u de bestanden adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd. (Zie Inclusief AEM Forms Java-bibliotheekbestanden.)
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Als u de Java API gebruikt, maakt u een OutputClient object. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService object.
Verwijzen naar een XML-gegevensbron
Als u een document wilt afdrukken dat gegevens bevat, moet u verwijzen naar een XML-gegevensbron die XML-elementen bevat voor elk formulierveld dat u wilt vullen met gegevens. De naam van het XML-element moet overeenkomen met de veldnaam. Een XML-element wordt genegeerd als het niet overeenkomt met een formulierveld of als de naam van het XML-element niet overeenkomt met de veldnaam. Het is niet nodig de volgorde aan te passen waarin de XML-elementen worden weergegeven als alle XML-elementen zijn opgegeven.
Stel runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand
Als u naar een bestand wilt afdrukken, moet u de runtime-optie voor de bestands-URI instellen door de locatie en de naam op te geven van het bestand dat door de uitvoerservice wordt afgedrukt. U kunt bijvoorbeeld de uitvoerservice de instructie geven een PostScript-bestand met de naam MortgaugeForm.ps naar C:\Adobe, geeft u C:\Adobe\MortgageForm.ps op.
PrintedOutputOptionsSpec klasseverwijzing in AEM Forms API-naslag.De afdrukstroom naar een bestand afdrukken
Nadat u naar een geldige XML-gegevensbron met formuliergegevens hebt verwezen en u afdrukopties hebt ingesteld, kunt u de uitvoerservice aanroepen, waardoor een bestand wordt afgedrukt.
De resultaten van de bewerking ophalen
Nadat de dienst van de Output een verrichting uitvoert, keert het diverse gegevenspunten, zoals de gegevens van XML terug, die specificeren of de verrichting succesvol was.
Zie ook
Afdrukken naar bestanden met de Java API
Afdrukken naar bestanden met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Afdrukken naar bestanden met de Java API print-to-files-using-the-java-api
Afdrukken naar een bestand met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStreamobject dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het document te vullen met de constructor ervan en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Een
com.adobe.idp.Documentobject door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStreamobject.
- Een
-
Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Een
PrintedOutputOptionsSpecobject met behulp van de constructor. - Geef het bestand op door het object PrintedOutputOptionsSpec aan te roepen
setFileURIen het doorgeven van een tekenreekswaarde die de naam en locatie van het bestand vertegenwoordigt. Als u bijvoorbeeld wilt dat de uitvoerservice wordt afgedrukt naar een PostScript-bestand met de naam* MortgaugeForm.ps* in C:\Adobe, geeft u C:\Adobe\MortgageForm.ps op. - Geef het aantal exemplaren op dat u wilt afdrukken door het
PrintedOutputOptionsSpecobjectsetCopiesmethode en het overgaan van een geheelwaarde die het aantal exemplaren vertegenwoordigt.
- Een
-
Druk de afdrukstroom naar een bestand af.
Afdrukken naar een bestand door het
OutputClientobjectgeneratePrintedOutputen geeft de volgende waarden door:- A
PrintFormatopsommingswaarde die de indeling van de afdrukstroom opgeeft die moet worden gemaakt. Als u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de locatie van verwante secundaire bestanden, zoals afbeeldingsbestanden, opgeeft.
- Een tekenreekswaarde die de locatie aangeeft van het XDC-bestand dat moet worden gebruikt (u kunt doorgeven
nullals u het XDC-bestand hebt opgegeven om te gebruiken met dePrintedOutputOptionsSpecobject). - De
PrintedOutputOptionsSpec-object dat uitvoeringsopties bevat die zijn vereist voor het afdrukken naar een bestand. - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die formuliergegevens bevat.
De
generatePrintedOutputmethode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat.note note NOTE De OutputResultobjectgetRecordLevelMetaDataListmethode retourneertnull*. * - A
-
Haal de resultaten van de bewerking op.
- Een
com.adobe.idp.Documentobject dat de status van hetgeneratePrintedOutputdoor deOutputResultobjectgetStatusDocmethode (deOutputResultobject is geretourneerd door degeneratePrintedOutputmethode). - Een
java.io.File-object dat de resultaten van de bewerking bevat. Zorg ervoor dat de bestandsextensie XML is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door degetStatusDocmethode).
- Een
Zie ook
Snel starten (SOAP-modus): Afdrukken naar een bestand met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen.
Afdrukken naar bestanden met de webservice-API print-to-files-using-the-web-service-api
Afdrukken naar een bestand met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhost* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOBobject met behulp van de constructor. DeBLOBwordt gebruikt om formuliergegevens op te slaan. - Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de locatie aangeeft van het XML-bestand dat formuliergegevens bevat. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenbinaryDataeigenschap met de inhoud van de bytearray.
- Een
-
Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Een
PrintedOutputOptionsSpecobject met behulp van de constructor. - Geef het bestand op door een tekenreekswaarde toe te wijzen die de locatie en naam van het bestand vertegenwoordigt voor de
PrintedOutputOptionsSpecobjectfileURIlid. Als u bijvoorbeeld wilt dat de uitvoerservice wordt afgedrukt naar een PostScript-bestand met de naam MortgaugeForm.ps in C:\Adobe, specificeer C:\Adobe\MortgageForm.ps. - Geef het aantal exemplaren op dat moet worden afgedrukt door een geheel-getalwaarde toe te wijzen die het aantal exemplaren aan de
PrintedOutputOptionsSpecobjectcopiesleden van gegevens.
- Een
-
Druk de afdrukstroom naar een bestand af.
Afdrukken naar een bestand door het
OutputServiceServiceobjectgeneratePrintedOutputen geeft de volgende waarden door:- A
PrintFormatopsommingswaarde die de indeling van de afdrukstroom opgeeft die moet worden gemaakt. Als u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de locatie van verwante secundaire bestanden, zoals afbeeldingsbestanden, opgeeft.
- Een tekenreekswaarde die de locatie aangeeft van het XDC-bestand dat moet worden gebruikt (u kunt doorgeven
nullals u het XDC-bestand hebt opgegeven om te gebruiken met dePrintedOutputOptionsSpecobject). - De
PrintedOutputOptionsSpec-object dat afdrukopties bevat die vereist zijn voor het afdrukken naar een bestand. - De
BLOBobject dat de XML-gegevensbron bevat die formuliergegevens bevat. - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - An
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
- A
-
Haal de resultaten van de bewerking op.
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt van een XML-bestand dat resultaatgegevens bevat. Zorg ervoor dat de bestandsextensie XML is. - Maak een bytearray waarin de gegevensinhoud van de
BLOBobject dat is gevuld met resultaatgegevens door deOutputServiceServiceobjectgeneratePDFOutputmethode (de achtste parameter). Vul de bytearray met de waarde van deBLOBobjectMTOMlid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Afdrukstromen naar printers verzenden sending-print-streams-to-printers
Met de service Uitvoer kunt u afdrukstreams zoals PostScript, Printer Control Language (PCL) of de volgende labelindelingen naar netwerkprinters verzenden:
- Zebra - ZPL
- Intermec, IPL
- Datamax - DPL
- TecToshiba - TPCL
Met de Output-service kunt u XML-gegevens samenvoegen met een formulierontwerp en het formulier uitvoeren als een afdrukstroom. U kunt bijvoorbeeld een PostScript-afdrukstroom maken en deze naar een netwerkprinter verzenden. In de volgende afbeelding ziet u hoe de uitvoerservice afdrukstreams naar netwerkprinters verzendt.
Overzicht van de stappen summary_of_steps-6
Voer de volgende stappen uit om een afdrukstroom naar een netwerkprinter te verzenden:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Uitvoeropties voor afdrukken instellen
- Een af te drukken document ophalen.
- Verzend het document naar een netwerkprinter.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (Vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u de bestanden adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd.
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, maakt u een uitvoerservice-clientobject. Als u de Java API gebruikt, maakt u een OutputClient object. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceClient object.
Verwijzen naar een XML-gegevensbron
Als u een document wilt afdrukken dat gegevens bevat, moet u verwijzen naar een XML-gegevensbron die XML-elementen bevat voor elk formulierveld dat u wilt vullen met gegevens. De naam van het XML-element moet overeenkomen met de veldnaam. Een XML-element wordt genegeerd als het niet overeenkomt met een formulierveld of als de naam van het XML-element niet overeenkomt met de veldnaam. Het is niet nodig de volgorde aan te passen waarin de XML-elementen worden weergegeven als alle XML-elementen zijn opgegeven.
Uitvoeropties voor afdrukken instellen
U kunt de runtime-opties instellen wanneer u een afdrukstroom naar een printer verzendt, inclusief de volgende opties:
- Kopieën: Hier geeft u het aantal exemplaren op dat u naar de printer wilt verzenden. De standaardwaarde is 1.
- Stapel: Een optie XCI wordt geplaatst wanneer een nietmachine wordt gebruikt. Deze optie kan in het configuratiemodel door het belangrijkste element worden gespecificeerd en wordt gebruikt voor printers PS en PCL slechts.
- OutputJog: Er wordt een XCI-optie ingesteld wanneer uitvoerpagina's moeten worden samengevoegd (fysiek verschoven in de uitvoerlade). Deze optie geldt alleen voor PS- en PCL-printers.
- OutputBin: XCI-waarde die wordt gebruikt om het afdrukstuurprogramma in staat te stellen de juiste uitvoerbak te selecteren.
PrintedOutputOptionsSpec klasseverwijzing.Een af te drukken document ophalen
Haal een afdrukstroom op die u naar een printer wilt verzenden. U kunt bijvoorbeeld een PostScript-bestand ophalen en naar een printer verzenden.
U kunt een PDF-bestand verzenden als uw printer PDF ondersteunt. Een probleem bij het verzenden van een PDF-document naar een printer is echter dat elke printerfabrikant een andere implementatie van de PDF-interpreter heeft. Dat wil zeggen dat sommige afdrukfabrikanten Adobe PDF-interpretatie gebruiken, maar dat hangt van de printer af. Andere drukkers hebben hun eigen PDF-interpreter. Hierdoor kunnen de afdrukresultaten afwijken.
Een andere beperking bij het verzenden van een PDF-document naar een drukker is dat het alleen wordt afgedrukt. de printer heeft alleen toegang tot duplex, selectie van papierlade en nieten, via de printerinstellingen.
Als u een document wilt ophalen dat u wilt afdrukken, gebruikt u de opdracht generatePrintedOutput methode. In de volgende tabel worden de inhoudstypen aangegeven die voor een bepaalde afdrukstroom zijn ingesteld wanneer u de generatePrintedOutput methode.
generatePrintedOutput2 methode. Maar de snelle start die gepaard gaat met het verzenden van de sectie Afdrukstromen naar printers, gebruikt de generatePrintedOutput methode.De afdrukstroom naar een netwerkprinter verzenden
Nadat u een document hebt opgehaald om af te drukken, kunt u de service Uitvoer inschakelen, waardoor een afdrukstroom naar een netwerkprinter wordt verzonden. Als u de printer wilt vinden in de uitvoerservice, moet u zowel de afdrukserver als de printernaam opgeven. Daarnaast moet u ook het afdrukprotocol opgeven.
Een afdrukstream naar een netwerkprinter verzenden met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Een uitvoerclient-object maken
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Verwijzen naar een XML-gegevensbron
- Een
java.io.FileInputStreamobject dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het document te vullen met de constructor ervan en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Een
com.adobe.idp.Documentobject door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStreamobject.
- Een
-
Uitvoeropties voor afdrukken instellen
Een
PrintedOutputOptionsSpec-object dat afdrukopties tijdens runtime vertegenwoordigt. U kunt bijvoorbeeld het aantal exemplaren opgeven dat moet worden afgedrukt door hetPrintedOutputOptionsSpecobjectsetCopiesmethode.note note NOTE U kunt de pagineringswaarde niet instellen met de opdracht PrintedOutputOptionsSpecobjectsetPaginationals u een ZPL-afdrukstroom genereert. Evenzo kunt u de volgende opties niet instellen voor een ZPL-afdrukstroom: OutputJog, PageOffset en Stapel. DesetPagination* is niet geldig voor het genereren van PostScript. Het is alleen geldig voor PCL-generatie. * -
Een af te drukken document ophalen
-
Een document ophalen om af te drukken door het
OutputClientobjectgeneratePrintedOutputen geeft de volgende waarden door:- A
PrintFormatopsommingswaarde die de afdrukstroom opgeeft. Als u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de locatie van verwante secundaire bestanden opgeeft, zoals afbeeldingsbestanden.
- Een tekenreekswaarde die de locatie aangeeft van het XDC-bestand dat moet worden gebruikt.
- De
PrintedOutputOptionsSpec-object dat uitvoeringsopties bevat die vereist zijn om af te drukken naar een bestand. - De
com.adobe.idp.Documentobject dat staat voor de XML-gegevensbron die formuliergegevens bevat die met het formulierontwerp moeten worden samengevoegd.
Deze methode retourneert een
OutputResultobject dat de resultaten van de bewerking bevat. - A
-
Een
com.adobe.idp.Documentobject dat naar de printer moet worden verzonden door deOutputResultobject 'sgetGeneratedDocmethode. Deze methode retourneert eencom.adobe.idp.Documentobject.
-
-
De afdrukstroom naar een netwerkprinter verzenden
Verzend de afdrukstroom naar een netwerkprinter door de
OutputClientobjectsendToPrinteren geeft de volgende waarden door:- A
com.adobe.idp.Documentobject dat staat voor de afdrukstream die naar de printer moet worden verzonden. - A
PrinterProtocolopsommingswaarde die het te gebruiken printerprotocol aangeeft. Als u bijvoorbeeld het SharedPrinter-protocol wilt opgeven, geeft uPrinterProtocol.SharedPrinter. - Een tekenreekswaarde die de naam van de afdrukserver opgeeft. Als de naam van de afdrukserver bijvoorbeeld PrintServer1 is, geeft u door
\\\PrintSever1. - Een tekenreekswaarde die de naam van de printer opgeeft. Als de naam van de printer bijvoorbeeld Printer1 is, geeft u door
\\\PrintSever1\Printer1.
note note NOTE De sendToPrinterDeze methode is toegevoegd aan de AEM Forms API in versie 8.2.1. - A
Een afdrukstream naar een printer verzenden met de webservice-API send-a-print-stream-to-a-printer-using-the-web-service-api
Een afdrukstroom naar een netwerkprinter verzenden met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhost* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOBobject met behulp van de constructor. DeBLOBwordt gebruikt om formuliergegevens op te slaan. - Een
System.IO.FileStreamobject door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die de locatie aangeeft van het XML-bestand dat formuliergegevens bevat. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. Bepaal de lengte van de bytearray door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenMTOMveld met de inhoud van de bytearray.
- Een
-
Stel opties voor het uitvoeren van de afdruk in.
Een
PrintedOutputOptionsSpecobject met behulp van de constructor. U kunt bijvoorbeeld het aantal exemplaren opgeven dat moet worden afgedrukt door een geheel-getalwaarde toe te wijzen die het aantal exemplaren aan hetPrintedOutputOptionsSpecobjectcopieslid.note note NOTE U kunt de pagineringswaarde niet instellen met de opdracht PrintedOutputOptionsSpecobjectpaginationgegevenslid als u een ZPL-afdrukstroom genereert. Evenzo kunt u de volgende opties niet instellen voor een ZPL-afdrukstroom: OutputJog, PageOffset en Stapel. Depagination* gegevenslid is niet geldig voor het genereren van PostScript. Het is alleen geldig voor PCL-generatie. * -
Een af te drukken document ophalen.
-
Een document ophalen om af te drukken door het
OutputServiceServiceobjectgeneratePrintedOutputen geeft de volgende waarden door:- A
PrintFormatopsommingswaarde die de afdrukstroom opgeeft. Als u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de locatie van verwante secundaire bestanden opgeeft, zoals afbeeldingsbestanden.
- Een tekenreekswaarde die de locatie aangeeft van het XDC-bestand dat moet worden gebruikt.
- De
PrintedOutputOptionsSpec-object dat afdrukopties tijdens runtime bevat die worden gebruikt wanneer een afdrukstroom naar een netwerkprinter wordt verzonden. - De
BLOBobject dat de XML-gegevensbron bevat die formuliergegevens bevat. - A
BLOBobject dat wordt gevuld door hetgeneratePrintedOutputmethode. DegeneratePrintedOutputHiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - A
BLOBobject dat wordt gevuld door hetgeneratePrintedOutputmethode. DegeneratePrintedOutputHiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - An
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
- A
-
Een
BLOBobject dat naar de printer moet worden verzonden door de waarde vanOutputResultobject 'sgeneratedDocmethode. Deze methode retourneert eenBLOBobject dat PostScript-gegevens bevat die door hetgeneratePrintedOutputmethode.
-
-
Verzend de afdrukstroom naar een netwerkprinter.
Verzend de afdrukstroom naar een netwerkprinter door de
OutputClientobjectsendToPrinteren geeft de volgende waarden door:- A
BLOBobject dat staat voor de afdrukstream die naar de printer moet worden verzonden. - A
PrinterProtocolopsommingswaarde die het te gebruiken printerprotocol aangeeft. Als u bijvoorbeeld het SharedPrinter-protocol wilt opgeven, geeft uPrinterProtocol.SharedPrinter. - A
boolwaarde die aangeeft of de vorige parameterwaarde moet worden gebruikt. Geef de waarde doortrue. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een tekenreekswaarde die de naam van de afdrukserver opgeeft. Als bijvoorbeeld wordt aangenomen dat de naam van de afdrukserver PrintServer1 is, geeft u door
\\\PrintSever1. - Een tekenreekswaarde die de naam van de printer opgeeft. Als de naam van de printer bijvoorbeeld Printer1 is, geeft u door
\\\PrintSever1\Printer1.
note note NOTE De sendToPrinterDeze methode is toegevoegd aan de AEM Forms API in versie 8.2.1. - A
Meerdere uitvoerbestanden maken creating-multiple-output-files
Met de service Uitvoer kunt u aparte documenten maken voor elke record in een XML-gegevensbron of één bestand dat alle records bevat (deze functionaliteit is de standaardinstelling). Bijvoorbeeld, veronderstel dat tien verslagen binnen een gegevensbron van XML worden gevestigd en u de dienst van de Output opdraagt om afzonderlijke documenten van de PDF (of andere soorten output) voor elk verslag tot stand te brengen door de Dienst API van de Output te gebruiken. Als gevolg hiervan genereert de uitvoerservice tien PDF-documenten. (In plaats van documenten te maken, kunt u meerdere afdrukstromen naar een printer verzenden.)
In de volgende afbeelding ziet u ook hoe de uitvoerservice een XML-gegevensbestand verwerkt dat meerdere records bevat. Nochtans, veronderstel dat u de dienst van de Output opdraagt om één enkel document van de PDF tot stand te brengen dat alle gegevensverslagen bevat. In deze situatie genereert de uitvoerservice één document dat alle records bevat.
In de volgende afbeelding ziet u hoe de uitvoerservice een XML-gegevensbestand verwerkt dat meerdere records bevat. Veronderstel dat u de dienst van de Output opdraagt om een afzonderlijk document van PDF voor elk gegevensverslag tot stand te brengen. In dit geval genereert de Output-service een apart PDF-document voor elke gegevensrecord.
De volgende XML-gegevens laten een voorbeeld zien van een gegevensbestand dat drie gegevensrecords bevat.
<?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>
Het XML-element dat elk gegevensrecord start en beëindigt, is LoanRecord. Naar dit XML-element wordt verwezen door de toepassingslogica die meerdere bestanden genereert.
Overzicht van de stappen summary_of_steps-7
Voer de volgende stappen uit om meerdere PDF-bestanden te maken op basis van een XML-gegevensbron:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel PDF-uitvoeringsopties in.
- Stel renderingopties in.
- Genereer meerdere PDF-bestanden.
- Haal de resultaten van de bewerking op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u de bestanden adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd.
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Als u de Java API gebruikt, maakt u een OutputClient object. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService object.
Verwijzen naar een XML-gegevensbron
Verwijs naar een gegevensbron van XML die veelvoudige verslagen bevat. Een XML-element moet worden gebruikt om de gegevensrecords van elkaar te scheiden. In het voorbeeld-XML-gegevensbron dat eerder in deze sectie wordt weergegeven, wordt het XML-element dat gegevensrecords scheidt, bijvoorbeeld benoemd LoanRecord.
Een XML-element moet bestaan voor elk formulierveld dat u wilt vullen met gegevens. De naam van het XML-element moet overeenkomen met de veldnaam. Een XML-element wordt genegeerd als het niet overeenkomt met een formulierveld of als de naam van het XML-element niet overeenkomt met de veldnaam. Het is niet nodig de volgorde aan te passen waarin de XML-elementen worden weergegeven als alle XML-elementen zijn opgegeven.
Opties voor PDF bij uitvoering instellen
U moet de volgende runtime opties voor de dienst van de Output plaatsen om veelvoudige dossiers tot stand te brengen die op een gegevensbron van XML worden gebaseerd:
- Veel bestanden: Hiermee wordt opgegeven of de service Uitvoer één document of meerdere documenten maakt. U kunt waar of onwaar opgeven. Geef true op als u een afzonderlijk document wilt maken voor elke gegevensrecord in de XML-gegevensbron.
- Bestands-URI: Hier geeft u de locatie op van de bestanden die de uitvoerservice genereert. Stel bijvoorbeeld dat u C:\Adobe\forms\Loan.pdf opgeeft. In dit geval maakt de service Uitvoer een bestand met de naam Loan.pdf en wordt het bestand in de map C:\Adobe\forms folder geplaatst. Als er meerdere bestanden zijn, zijn de bestandsnamen Loan0001.pdf, Loan0002.pdf, Loan0003.pdf enzovoort. Als u een bestandslocatie opgeeft, worden de bestanden op de server geplaatst, niet op de clientcomputer.
- Recordnaam: Hiermee wordt de naam van het XML-element opgegeven in de gegevensbron die de gegevensrecords scheidt. In het voorbeeld-XML-gegevensbron dat eerder in deze sectie wordt weergegeven, wordt bijvoorbeeld het XML-element dat gegevensrecords scheidt, aangeroepen
LoanRecord. (In plaats van de runtime voor opnamen in te stellen, kunt u het niveau opnemen instellen door er een numerieke waarde aan toe te wijzen die het elementniveau aangeeft dat gegevensrecords bevat. U kunt echter alleen de recordnaam of het recordniveau instellen. U kunt niet beide waarden instellen.)
Renderopties tijdens runtime instellen
Tijdens het maken van meerdere bestanden kunt u opties voor het renderen tijdens runtime instellen. Hoewel deze opties niet vereist zijn (in tegenstelling tot uitvoeropties, die vereist zijn), kunt u taken uitvoeren zoals het verbeteren van de prestaties van de uitvoerservice. U kunt bijvoorbeeld het formulierontwerp dat de Output-service gebruikt in cache plaatsen om de prestaties te verbeteren.
Wanneer de dienst van de Output partijverslagen verwerkt, leest het gegevens die veelvoudige verslagen op een stijgende manier bevatten. Dat wil zeggen dat de Output-service de gegevens in het geheugen leest en de gegevens vrijgeeft terwijl de batch met records wordt verwerkt. De uitvoerservice laadt gegevens incrementeel wanneer een van de twee uitvoeringsopties is ingesteld. Als u de runtime van de Naam van het Verslag optie plaatst, leest de dienst van de Output gegevens op een stijgende manier. Op dezelfde manier, als u de runtime van het Niveau van het Verslag optie aan 2 of groter plaatst, leest de dienst van de Output gegevens op een stijgende manier.
U kunt bepalen of de dienst van de Output stijgende lading door te gebruiken uitvoert PDFOutputOptionsSpec of de PrintedOutputOptionSpec object setLazyLoading methode. U kunt de waarde doorgeven false op deze methode waarmee incrementele belasting wordt uitgeschakeld.
Meerdere PDF-bestanden genereren
Nadat u naar een geldige XML-gegevensbron verwijst die meerdere gegevensrecords bevat en runtime-opties instelt, kunt u de uitvoerservice aanroepen, waardoor er meerdere bestanden worden gegenereerd. Wanneer het produceren van veelvoudige verslagen, OutputResult object getGeneratedDoc methode retourneert null.
De resultaten van de bewerking ophalen
Nadat de dienst van de Output een verrichting uitvoert, keert het de gegevens van XML terug die specificeren of de verrichting succesvol was. De volgende XML wordt geretourneerd door de service Uitvoer. In deze situatie genereerde de uitvoerservice 42 documenten.
<?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>
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Meerdere PDF-bestanden maken met de Java API create-multiple-pdf-files-using-the-java-api
Meerdere PDF-bestanden maken met de Output API (Java):
-
Inclusief projectbestanden"
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project. .
-
Een uitvoerclient-object maken
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Verwijzen naar een XML-gegevensbron
- Een
java.io.FileInputStreamobject dat de XML-gegevensbron vertegenwoordigt die meerdere records bevat door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het XML-bestand aangeeft. - Een
com.adobe.idp.Documentobject door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStreamobject.
- Een
-
Opties voor PDF bij uitvoering instellen
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de optie Veel bestanden in door de
PDFOutputOptionsSpecobjectsetGenerateManyFilesmethode. Geef bijvoorbeeld de waarde doortrueom de Output-service op te dragen een afzonderlijk PDF-bestand te maken voor elke record in de XML-gegevensbron. (Als ufalse, genereert de uitvoerservice één PDF-document dat alle records bevat). - Stel de optie File URI in door het
PDFOutputOptionsSpecobjectsetFileUrimethode en het overgaan van een koordwaarde die de plaats van de dossiers specificeert die de dienst van de Output produceert. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer. - Stel de optie Naam record in door de
OutputOptionsSpecobjectsetRecordNamemethode en het overgaan van een koordwaarde die de het elementnaam van XML in de gegevensbron specificeert die de gegevensverslagen scheidt. (Neem bijvoorbeeld de XML-gegevensbron die eerder in deze sectie wordt weergegeven. De naam van het XML-element dat gegevensrecords scheidt, is LoanRecord.)
- Een
-
Renderopties tijdens runtime instellen
- Een
RenderOptionsSpecobject met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het aanroepen van de
RenderOptionsSpecobjectsetCacheEnableden het passeren van eenBooleanwaarde vantrue.
- Een
-
Meerdere PDF-bestanden genereren
Genereer meerdere PDF-bestanden door de
OutputClientobjectgeneratePDFOutputen geeft de volgende waarden door:- A
TransformationFormatenum value. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
com.adobe.idp.Documentobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutputmethode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat. - A
-
De resultaten van de bewerking ophalen
- Een
java.io.Fileobject dat een XML-bestand vertegenwoordigt dat de resultaten van hetgeneratePDFOutputmethode. Controleer of de bestandsnaamextensie .xml is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door deapplyUsageRightsmethode).
- Een
Zie ook
Snel starten (EJB-modus): Meerdere PDF-bestanden maken met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Meerdere PDF-bestanden maken met de webservice-API create-multiple-pdf-files-using-the-web-service-api
Meerdere PDF-bestanden maken met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhostmet het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOBobject met behulp van de constructor. DeBLOBwordt gebruikt om formuliergegevens op te slaan die meerdere records bevatten. - Een
System.IO.FileStreamobject door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die de bestandslocatie vertegenwoordigt van het XML-bestand dat meerdere records bevat. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenMTOMveld met de inhoud van de bytearray.
- Een
-
Stel PDF-uitvoeringsopties in.
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de optie Veel bestanden in door een Booleaanse waarde toe te wijzen aan de optie
OutputOptionsSpecobjectgenerateManyFileslid. Wijs bijvoorbeeld de waarde toetrueaan dit gegevenslid om de dienst van de Output op te dragen om een afzonderlijk dossier van PDF voor elke verslag in de gegevensbron van XML tot stand te brengen. (Als ufalseaan dit gegevenslid, dan produceert de dienst van de Output één enkele PDF die alle verslagen bevat). - Stel de bestands-URI-optie in door een tekenreekswaarde toe te wijzen die de locatie opgeeft van de bestanden die de uitvoerservice genereert voor de
OutputOptionsSpecobjectfileURIlid. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer. - Stel de optie voor de recordnaam in door een tekenreekswaarde toe te wijzen die de naam van het XML-element opgeeft in de gegevensbron die de gegevensrecords scheidt van de
OutputOptionsSpecobjectrecordNamelid. - Stel de optie Kopiëren in door een geheel-getalwaarde toe te wijzen die het aantal exemplaren opgeeft dat de uitvoerservice genereert voor de
OutputOptionsSpecobjectcopieslid.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpecobject met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door de waarde toe te wijzen
trueaan deRenderOptionsSpecobjectcacheEnabledlid.
- Een
-
Genereer meerdere PDF-bestanden.
Meerdere PDF-bestanden maken door de
OutputServiceServiceobjectgeneratePDFOutputen geeft de volgende waarden door:- Een opsommingswaarde van TransformationFormat. Als u een PDF-document wilt genereren, geeft u
TransformationFormat.PDF. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
BLOBobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met resultaatgegevens. - An
OutputResultobject dat de resultaten van de bewerking bevat.
- Een opsommingswaarde van TransformationFormat. Als u een PDF-document wilt genereren, geeft u
-
De resultaten van de bewerking ophalen
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt van een XML-bestand dat resultaatgegevens bevat. Controleer of de bestandsnaamextensie .xml is. - Maak een bytearray waarin de gegevensinhoud van de
BLOBobject dat is gevuld met resultaatgegevens door deOutputServiceServiceobjectgeneratePDFOutputmethode (de achtste parameter). Vul de bytearray met de waarde van deBLOBobjectbinaryDatalid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Zoekregels maken creating-search-rules
U kunt zoekregels maken die ertoe leiden dat de uitvoerservice invoergegevens controleert en verschillende formulierontwerpen gebruikt op basis van de gegevensinhoud om uitvoer te genereren. Als de tekst hypotheek bevindt zich binnen de invoergegevens, kan de uitvoerservice een formulierontwerp gebruiken met de naam Mortgauge.xdp. En als de tekst auto bevindt zich in de invoergegevens, kan de uitvoerservice een formulierontwerp gebruiken dat is opgeslagen als AutomobileLoan.xdp. Hoewel de Output-service verschillende uitvoertypen kan genereren, wordt er in deze sectie van uitgegaan dat de Output-service een PDF-bestand genereert. In het volgende diagram ziet u de service Output die een PDF-bestand genereert door een XML-gegevensbestand te verwerken en een van de vele formulierontwerpen te gebruiken.
Daarnaast kan de Output-service documentpakketten genereren, waarbij de gegevensset meerdere records bevat en elke record overeenkomt met een formulierontwerp en er één document wordt gegenereerd dat uit meerdere formulierontwerpen bestaat.
Overzicht van de stappen summary_of_steps-8
Voer de volgende stappen uit om de uitvoerservice op te dragen de zoekregels te gebruiken tijdens het genereren van een document:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Definieer zoekregels.
- Stel PDF-uitvoeringsopties in.
- Stel renderingopties in.
- Genereer een PDF-document.
- Haal de resultaten van de bewerking op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u ervoor zorgen dat u de proxybestanden opneemt.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (Vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd.
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken.
Verwijzen naar een XML-gegevensbron
Een XML-element moet bestaan voor elk formulierveld dat u wilt vullen met gegevens. De naam van het XML-element moet overeenkomen met de veldnaam. Een XML-element wordt genegeerd als het niet overeenkomt met een formulierveld of als de naam van het XML-element niet overeenkomt met de veldnaam. Het is niet nodig de volgorde aan te passen waarin de XML-elementen worden weergegeven, zolang alle XML-elementen zijn opgegeven.
Zoekregels definiëren
Als u zoekregels wilt definiëren, definieert u een of meer tekstpatronen waarnaar de uitvoerservices zoeken in de invoergegevens. Voor elk tekstpatroon dat u definieert, geeft u een overeenkomstig formulierontwerp op dat wordt gebruikt als het tekstpatroon zich bevindt. Als een tekstpatroon wordt gevonden, gebruikt de uitvoerservice het bijbehorende formulierontwerp om de uitvoer te genereren. Een voorbeeld van een tekstpatroon is hypotheek.
Opties voor PDF bij uitvoering instellen
Stel de volgende PDF runtime-opties in zodat de Output-service een PDF-document kan maken dat is gebaseerd op meerdere formulierontwerpen:
- Bestands-URI: Hier geeft u de naam en locatie op van het PDF-bestand dat de uitvoerservice genereert.
- Regels: Hier geeft u de regels op die u hebt gedefinieerd.
- LookAHead: Geeft het aantal bytes op dat vanaf het begin van het invoergegevensbestand moet worden gebruikt om te scannen naar de gedefinieerde tekstpatronen. De standaardwaarde is 500 bytes.
Renderopties tijdens runtime instellen
Tijdens het maken van PDF-bestanden kunt u renderingopties instellen. Hoewel deze opties niet vereist zijn (in tegenstelling tot PDF runtime opties), kunt u taken uitvoeren zoals het verbeteren van de prestaties van de Output-service. U kunt bijvoorbeeld het formulierontwerp dat de Output-service gebruikt in cache plaatsen om de prestaties te verbeteren.
Een PDF-document genereren
Nadat u naar een geldige XML-gegevensbron verwijst en runtime-opties hebt ingesteld, kunt u de uitvoerservice aanroepen, waardoor een PDF-document wordt gegenereerd. Als de uitvoerservice een opgegeven tekstpatroon opzoekt in de invoergegevens, wordt het bijbehorende formulierontwerp gebruikt. Als geen tekstpatroon wordt gebruikt, gebruikt de Output-service het standaardformulierontwerp.
De resultaten van de bewerking ophalen
Nadat de dienst van de Output een verrichting uitvoert, keert het de gegevens van XML terug die specificeren of de verrichting succesvol was.
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Zoekregels maken met de Java API create-search-rules-using-the-java-api
Maak zoekregels met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStreamobject dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het PDF-document te vullen met de constructor ervan en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Een
com.adobe.idp.Documentobject door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStreamobject.
- Een
-
Definieer zoekregels.
- Een
Ruleobject met behulp van de constructor. - Definieer een tekstpatroon door het
RuleobjectsetPatternmethode en het overgaan van een koordwaarde die een tekstpatroon specificeert. - Definieer het bijbehorende formulierontwerp door het
RuleobjectsetFormmethode. Geef een tekenreekswaarde door die de naam van het formulierontwerp aangeeft.
note note NOTE Herhaal de vorige drie substappen voor elk tekstpatroon dat u wilt definiëren. - Een
java.util.Listobject door eenjava.util.ArrayListconstructor. - Voor elke
Rulehet object dat u hebt gemaakt, activeert hetjava.util.Listobjectadden geeft deRuleobject.
- Een
-
Stel PDF-uitvoeringsopties in.
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Geef de naam en locatie op van het PDF-bestand dat de uitvoerservice genereert door het
PDFOutputOptionsSpecobjectsetFileURImethode. Geef een tekenreekswaarde door die de locatie van het PDF-bestand aangeeft. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer. - Stel de regels in die u hebt gedefinieerd door de
PDFOutputOptionsSpecobjectsetRulesmethode. Geef dejava.util.Listobject dat hetRuleobjecten. - Stel het aantal bytes in dat u wilt scannen voor de gedefinieerde tekstpatronen door het aanroepen van de
PDFOutputOptionsSpecobjectsetLookAheadmethode. Geef een geheel getal door dat het aantal bytes vertegenwoordigt.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpecobject met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de Output-service te verbeteren door het aanroepen van de
RenderOptionsSpecobjectsetCacheEnableden passerentrue.
- Een
-
Genereer een PDF-document.
Een PDF-document genereren dat is gebaseerd op meerdere formulierontwerpen door het aanroepen van de
OutputClientobjectgeneratePDFOutputen geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde die de naam van het standaardformulierontwerp aangeeft. Dit is het formulierontwerp dat wordt gebruikt als een tekstpatroon niet wordt gevonden.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de formulierontwerpen zich bevinden.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
com.adobe.idp.Document-object dat de formuliergegevens bevat die door de uitvoerservice worden doorzocht op de gedefinieerde tekstpatronen.
De
generatePDFOutputmethode retourneert eenOutputResultobject dat de resultaten van de bewerking bevat. - A
-
Haal de resultaten van de bewerking op.
- Een
com.adobe.idp.Documentobject dat de status van hetgeneratePDFOutputdoor deOutputResultobjectgetStatusDocmethode. - Een
java.io.File-object dat de resultaten van de bewerking bevat. Controleer of de bestandsextensie .xml is. - De
com.adobe.idp.DocumentobjectcopyToFilemethode om de inhoud van decom.adobe.idp.Documentobject naar het bestand (gebruik decom.adobe.idp.Documentobject dat is geretourneerd door degetStatusDocmethode).
- Een
Zie ook
Snel starten (EJB-modus): Zoekregels maken met de Java API
Snel starten (SOAP-modus): Zoekregels maken met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Zoekregels maken met de webservice-API create-search-rules-using-the-web-service-api
Maak zoekregels met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhostmet het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOBobject met behulp van de constructor. DeBLOB-object wordt gebruikt voor het opslaan van gegevens die worden samengevoegd met het PDF-document. - Een
System.IO.FileStream-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het te coderen PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenMTOMveld met de inhoud van de bytearray.
- Een
-
Definieer zoekregels.
- Een
Ruleobject met behulp van de constructor. - Definieer een tekstpatroon door een tekenreekswaarde toe te wijzen die een tekstpatroon opgeeft voor het
Ruleobjectpatternlid. - Definieer het bijbehorende formulierontwerp door een tekenreekswaarde toe te wijzen die het formulierontwerp opgeeft aan de
Ruleobjectformlid.
note note NOTE Herhaal de vorige drie substappen voor elk tekstpatroon dat u wilt definiëren. - Een
MyArrayOf_xsd_anyType-object dat de regels opslaat. - Elk toewijzen
Ruleeen object naar een element van hetMyArrayOf_xsd_anyTypearray. DeMyArrayOf_xsd_anyTypeobjectAddmethode voor elkeRuleobject.
- Een
-
Opties voor PDF bij uitvoering instellen
- Een
PDFOutputOptionsSpecobject met behulp van de constructor. - Stel de bestands-URI-optie in door een tekenreekswaarde toe te wijzen die de locatie opgeeft van het PDF-bestand dat de uitvoerservice genereert voor de
PDFOutputOptionsSpecobjectfileURIlid. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet ten opzichte van de clientcomputer. - Stel de optie Kopiëren in door een geheel-getalwaarde toe te wijzen die het aantal exemplaren opgeeft dat de uitvoerservice genereert voor de
PDFOutputOptionsSpecobjectcopieslid. - Stel de regels in die u hebt gedefinieerd door de
MyArrayOf_xsd_anyTypeobject dat de regels opslaat in het dialoogvensterPDFOutputOptionsSpecobjectruleslid. - Stel het aantal bytes in dat u wilt scannen voor de gedefinieerde tekstpatronen door een geheel-getalwaarde toe te wijzen die het aantal bytes vertegenwoordigt dat u wilt scannen naar de
PDFOutputOptionsSpecobjectlookAheadgegevensmethode.
- Een
-
Renderopties tijdens runtime instellen
- Een
RenderOptionsSpecobject met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de Output-service te verbeteren door de waarde toe te wijzen
trueaan deRenderOptionsSpecobjectcacheEnabledlid.
note note NOTE U kunt de versie van het PDF-document niet instellen met de opdracht RenderOptionsSpecobjectpdfVersionlid als het invoerdocument een Acrobat-formulier is. In het PDF-uitvoerdocument blijft de PDF-versie van het Acrobat-formulier behouden. U kunt ook de optie PDF met tags niet instellen met de opdrachtRenderOptionsSpecobjecttaggedPDFmethode als het invoerdocument een Acrobat-formulier is.note note NOTE U kunt de optie Lineaire PDF niet instellen met de opdracht RenderOptionsSpecobjectlinearizedPDFlid als het invoerdocument PDF is gecertificeerd of digitaal is ondertekend. Zie voor meer informatie PDF-documenten digitaal ondertekenen. - Een
-
Een PDF-document genereren
Een PDF-document maken door het
OutputServiceServiceobjectgeneratePDFOutputen geeft de volgende waarden door:- A
TransformationFormatopsommingswaarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec-object dat renderingopties bevat. - De
BLOBobject dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - A
BLOBobject dat wordt gevuld door hetgeneratePDFOutputmethode. DegeneratePDFOutputHiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - An
OutputResultobject dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
note note NOTE Wanneer het produceren van een document van de PDF door te halen generatePDFOutput, moet u er rekening mee houden dat u geen gegevens kunt samenvoegen met een XFA PDF-formulier dat is ondertekend, gecertificeerd of gebruiksrechten bevat. Voor informatie over gebruiksrechten raadpleegt u Gebruiksrechten toepassen op PDF-documenten. - A
-
De resultaten van de bewerking ophalen
- Een
System.IO.FileStreamobject door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt van een XML-bestand dat resultaatgegevens bevat. Zorg ervoor dat de bestandsextensie XML is. - Maak een bytearray waarin de gegevensinhoud van de
BLOBobject dat is gevuld met resultaatgegevens door deOutputServiceServiceobjectgeneratePDFOutputmethode (de achtste parameter). Vul de bytearray met de waarde van deBLOBobjectMTOMlid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
PDF-documenten afvlakken flattening-pdf-documents
Met de service Uitvoer kunt u een interactief PDF-document transformeren naar een niet-interactieve PDF. Met een interactief PDF-document kunnen gebruikers gegevens invoeren of wijzigen die zich in de documentvelden PDF bevinden. Het proces voor het transformeren van een interactief PDF-document naar een niet-interactief PDF-document wordt afvlakken. Wanneer een PDF-document wordt afgevlakt, kan een gebruiker de gegevens in de documentvelden niet wijzigen. Een reden om een PDF-document af te vlakken is ervoor te zorgen dat gegevens niet kunnen worden gewijzigd.
U kunt de volgende typen PDF-documenten samenvoegen:
- Interactieve XFA PDF-documenten
- Acrobat Forms
Als u probeert een PDF af te vlakken die een niet-interactief PDF-document is, wordt er een uitzondering gemaakt.
Overzicht van de stappen summary_of_steps-9
Voer de volgende stappen uit om een interactief PDF-document af te vlakken naar een niet-interactief PDF-document:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Een interactief PDF-document ophalen.
- Transformeer het PDF-document.
- Sla het niet-interactieve PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u werkt met webservices, moet u de proxybestanden opnemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-output-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
als AEM Forms wordt geïmplementeerd op een ondersteunde J2EE-toepassingsserver die geen JBoss is, moet u de bestanden adobe-utilities.jar en jbossall-client.jar vervangen door JAR-bestanden die specifiek zijn voor de J2EE-toepassingsserver waarop AEM Forms wordt geïmplementeerd. Voor informatie over de locatie van alle AEM Forms JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een uitvoerclient-object maken
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Als u de Java API gebruikt, maakt u een OutputClient object. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService object.
Een interactief PDF-document ophalen
Haal een interactief PDF-document op dat u wilt omzetten in een niet-interactief PDF-document. Als u probeert een niet-interactief PDF-document te transformeren, wordt er een uitzondering gemaakt.
Het PDF-document transformeren
Nadat u een interactief PDF-document hebt opgehaald, kunt u het omzetten in een niet-interactief PDF-document. De service Uitvoer retourneert een niet-interactief PDF-document.
Niet-interactief PDF-document opslaan als een PDF–bestand
U kunt het niet-interactieve PDF-document opslaan als een PDF-bestand.
Zie ook
Een PDF-document samenvoegen met de Java API
Een PDF-document samenvoegen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
Een PDF-document samenvoegen met de Java API flatten-a-pdf-document-using-the-java-api
Een interactief PDF-document afvlakken naar een niet-interactief PDF-document met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
OutputClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Een interactief PDF-document ophalen.
- Een
java.io.FileInputStream-object dat het interactieve PDF-document vertegenwoordigt dat moet worden getransformeerd met behulp van de constructor en dat een tekenreekswaarde doorgeeft die de locatie van het interactieve PDF-bestand aangeeft. - Een
com.adobe.idp.Documentobject door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStreamobject.
- Een
-
Transformeer het PDF-document.
Transformeer het interactieve PDF-document naar een niet-interactief PDF-document door het
OutputServiceServiceobjecttransformPDFen geeft de volgende waarden door:- De
com.adobe.idp.Documentobject dat het interactieve PDF-document bevat. - A
TransformationFormatenum value. Als u een niet-interactief PDF-document wilt genereren, geeft uTransformationFormat.PDF. - A
PDFARevisionNumberenum value that specifies the revision number. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt unull. - Een tekenreekswaarde die staat voor het wijzigingsnummer en -jaar, gescheiden door een dubbele punt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt u
null. - A
PDFAConformanceEnumwaarde die het PDF/A-compatibiliteitsniveau vertegenwoordigt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt unull.
De
transformPDFmethode retourneert eencom.adobe.idp.Document-object dat een niet-interactief PDF-document bevat. - De
-
Sla het niet-interactieve PDF-document op als een PDF-bestand.
- Een
java.io.Fileen zorg ervoor dat de bestandsnaamextensie .pdf is. - De
DocumentobjectcopyToFilemethode om de inhoud van deDocumentobject naar het bestand (gebruik deDocumentobject dat is geretourneerd door detransformPDFmethode).
- Een
Zie ook
Snel starten (EJB-modus): Een PDF-document transformeren met de Java API
Snel starten (SOAP-modus): Een PDF-document transformeren met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een PDF-document samenvoegen met de webservice-API flatten-a-pdf-document-using-the-web-service-api
Een interactief PDF-document afvlakken naar een niet-interactief PDF-document met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.note note NOTE Vervangen localhostmet het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Een
OutputServiceClientobject met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom.) U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtomom MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenOutputServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld naarWSMessageEncoding.Mtom. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
OutputServiceClient.ClientCredentials.UserName.UserName. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
OutputServiceClient.ClientCredentials.UserName.Password. - De constante waarde toewijzen
HttpClientCredentialType.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar het veldBasicHttpBindingSecurity.Security.Mode.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Een interactief PDF-document ophalen.
- Een
BLOBobject met behulp van de constructor. DeBLOBwordt gebruikt om het interactieve PDF-document op te slaan. - Een
System.IO.FileStreamdoor de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het interactieve PDF-document vertegenwoordigt. - Maak een bytearray waarin de inhoud van de
System.IO.FileStreamobject. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStreamobjectLengtheigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStreamobjectReaden geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOBobject door het toe te wijzenMTOMeigenschap met de inhoud van de bytearray.
- Een
-
Transformeer het PDF-document.
Transformeer het interactieve PDF-document naar een niet-interactief PDF-document door het
OutputClientobjecttransformPDFen geeft de volgende waarden door:- A
BLOBobject dat het interactieve PDF-document bevat. - A
TransformationFormatopsommingswaarde. Als u een niet-interactief PDF-document wilt genereren, geeft uTransformationFormat.PDF. - A
PDFARevisionNumberenum value that specifies the revision number. - Een Booleaanse waarde die opgeeft of de klasse
PDFARevisionNumberde opsommingswaarde wordt gebruikt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt ufalse. - Een tekenreekswaarde die staat voor het wijzigingsnummer en -jaar, gescheiden door een dubbele punt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt u
null. - A
PDFAConformanceEnumwaarde die het PDF/A-compatibiliteitsniveau vertegenwoordigt. - Booleaanse waarde die opgeeft of de
PDFAConformancede opsommingswaarde wordt gebruikt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt ufalse.
De
transformPDFmethode retourneert eenBLOB-object dat een niet-interactief PDF-document bevat. - A
-
Sla het niet-interactieve PDF-document op als een PDF-bestand.
- Een
System.IO.FileStreamdoor de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het niet-interactieve PDF-document vertegenwoordigt. - Maak een bytearray waarin de gegevensinhoud van de
BLOBobject dat is geretourneerd door detransformPDFmethode. Vul de bytearray met de waarde van deBLOBobjectMTOMlid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef