Documentuitvoerstromen maken
Gemaakt voor:
- Developer
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 sendToPrinter2
methode. Als u een uitvoerstream naar een printer wilt verzenden door een URI-waarde door te geven, gebruikt u de optie sendToPrinter
methode. 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
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStream
object 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.Document
object met behulp van de constructor. Geef dejava.io.FileInputStream
object.
- Een
-
Stel PDF-uitvoeringsopties in.
- Een
PDFOutputOptionsSpec
object met behulp van de constructor. - Stel de optie File URI in door het
PDFOutputOptionsSpec
objectsetFileURI
methode. 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
RenderOptionsSpec
object met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het aanroepen van de
RenderOptionsSpec
objectsetCacheEnabled
en passerentrue
.
NOTE
U kunt de versie van het PDF-document niet instellen met de opdrachtRenderOptionsSpec
objectsetPdfVersion
methode 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 optieRenderOptionsSpec
objectsetTaggedPDF
* als het invoerdocument een Acrobat-formulier of een ondertekend of gecertificeerd XFA-document is. *NOTE
U kunt de optie Lineaire PDF niet instellen met de opdrachtRenderOptionsSpec
objectsetLinearizedPDF
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
OutputClient
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat.NOTE
Wanneer het produceren van een document van de PDF door te halengeneratePDFOutput
, 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
DeOutputResult
objectgetRecordLevelMetaDataList
methode retourneertnull
.NOTE
U kunt ook een PDF-document maken door hetOutputClient
objectgeneratePDFOutput2
methode. (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.Document
object dat de status van hetgeneratePDFOutput
door deOutputResult
objectgetStatusDoc
methode. Deze methode retourneert XML-gegevens met de status die aangeven of de bewerking is geslaagd. - Een
java.io.File
object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .xml is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door degetStatusDoc
methode).
Hoewel de dienst van de Output het document van PDF naar de plaats schrijft die door het argument wordt gespecificeerd dat tot wordt overgegaan
PDFOutputOptionsSpec
objectsetFileURI
methode, kunt u het PDF/A- document programmatically terugwinnen door het aan te halenOutputResult
objectgetGeneratedDoc
methode. - 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
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
Vervangenlocalhost
* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om XML-gegevens op te slaan die met het PDF-document worden samengevoegd. - Een
System.IO.FileStream
object 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.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
veld met de inhoud van de bytearray.
- Een
-
Opties voor PDF bij uitvoering instellen
- Een
PDFOutputOptionsSpec
object 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
PDFOutputOptionsSpec
objectfileURI
lid. 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
RenderOptionsSpec
object 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
true
aan deRenderOptionsSpec
objectcacheEnabled
lid.
NOTE
U kunt de versie van het PDF-document niet instellen met de opdrachtRenderOptionsSpec
objectsetPdfVersion
methode 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 optieRenderOptionsSpec
objectsetTaggedPDF
* als het invoerdocument een Acrobat-formulier of een ondertekend of gecertificeerd XFA-document is.*NOTE
U kunt de optie Lineaire PDF niet instellen met de opdrachtRenderOptionsSpec
objectlinearizedPDF
lid 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
OutputServiceService
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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
BLOB
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - An
OutputResult
object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
NOTE
Wanneer het produceren van een document van de PDF door te halengeneratePDFOutput
, 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
U kunt ook een PDF-document maken door hetOutputClient
objectgeneratePDFOutput2
methode. (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.FileStream
object 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
BLOB
object dat is gevuld met resultaatgegevens door deOutputServiceService
objectgeneratePDFOutput
methode (de achtste parameter). Vul de bytearray met de waarde van deBLOB
objectMTOM
field
. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
Zie ook
- Een
OutputServiceService
object generateOutput
methode is afgekeurd.PDF/A-documenten maken
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStream
object 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.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Stel PDF/A-runtime-opties in.
- Een
PDFOutputOptionsSpec
object met behulp van de constructor. - Stel de optie File URI in door het
PDFOutputOptionsSpec
objectsetFileURI
methode. 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
RenderOptionsSpec
object met behulp van de constructor. - Stel de
PDFAConformance
waarde door deRenderOptionsSpec
objectsetPDFAConformance
methode en eenPDFAConformance
enum-waarde die het compatibiliteitsniveau opgeeft. Als u bijvoorbeeld compatibiliteitsniveau A wilt opgeven, geeft uPDFAConformance.A
. - Stel de
PDFARevisionNumber
waarde door deRenderOptionsSpec
objectsetPDFARevisionNumber
methode en doorgevenPDFARevisionNumber.Revision_1
.
NOTE
De PDF-versie van een PDF/A-document is 1.4, ongeacht de waarde die u opgeeft voor hetRenderOptionsSpec
objectsetPdfVersion
methode. - Een
-
Een PDF/A-document genereren.
Een PDF/A-document maken door het
OutputClient
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat.NOTE
DeOutputResult
objectgetRecordLevelMetaDataList
methode retourneertnull
*. *NOTE
U kunt ook een PDF /A-document maken door hetOutputClient
objectgeneratePDFOutput
2. (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.Document
object dat de status van hetgeneratePDFOutput
door deOutputResult
objectgetStatusDoc
methode. - Een
java.io.File
-object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .xml is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door degetStatusDoc
methode).
NOTE
Hoewel de dienst van de Output het PDF/A- document aan de plaats schrijft die door het argument wordt gespecificeerd dat tot wordt overgegaanPDFOutputOptionsSpec
objectsetFileURI
methode, kunt u het PDF/A- document programmatically terugwinnen door het aan te halenOutputResult
objectgetGeneratedDoc
* 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
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
Vervangenlocalhost
* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOB
object 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.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
veld met de inhoud van de bytearray.
- Een
-
Stel PDF/A-runtime-opties in.
- Een
PDFOutputOptionsSpec
object 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
PDFOutputOptionsSpec
objectfileURI
lid. 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
RenderOptionsSpec
object met behulp van de constructor. - Stel de
PDFAConformance
waarde door eenPDFAConformance
enumwaarde aan deRenderOptionsSpec
objectPDFAConformance
lid. Als u bijvoorbeeld compatibiliteitsniveau A wilt opgeven, wijst uPDFAConformance.A
aan dit gegevenslid. - Stel de
PDFARevisionNumber
waarde door eenPDFARevisionNumber
enumwaarde aan deRenderOptionsSpec
objectPDFARevisionNumber
lid. ToewijzenPDFARevisionNumber.Revision_1
aan dit gegevenslid.
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
OutputServiceService
objectgeneratePDFOutput
en 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
BLOB
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - An
OutputResult
object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
NOTE
U kunt ook een PDF /A-document maken door hetOutputClient
objectgeneratePDFOutput
2. (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.FileStream
object 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
BLOB
object dat is gevuld met resultaatgegevens door deOutputServiceService
objectgeneratePDFOutput
methode (de achtste parameter). Vul de bytearray met de waarde van deBLOB
objectMTOM
veld. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriter
objectWrite
en 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
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
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.
generatePDFOutput2
en g eneratePrintedOutput2
accepteren com.adobe.idp.Document
object 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 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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. (Zie Verbindingseigenschappen instellen.) - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object. - Een
DocumentManagementServiceClientImpl
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
De
DocumentManagementServiceClientImpl
objectretrieveContent
en 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
retrieveContent
methode retourneert eenCRCResult
object dat het XDP-bestand bevat. Eencom.adobe.idp.Document
instantie door deCRCResult
objectgetDocument
methode. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Het niet-interactieve PDF formulier weergeven.
De
OutputClient
objectgeneratePDFOutput2
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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.Document
object dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door hetCRCResult
objectgetDocument
methode). - A
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec
-object dat renderingopties bevat. - De
com.adobe.idp.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput2
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat. - A
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Een
com.adobe.idp.Document
object dat het niet-interactieve formulier vertegenwoordigt door hetOutputResult
objectgetGeneratedDoc
methode. - Een
java.io.File
object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door degetGeneratedDoc
methode).
- 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
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
BLOB
het gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOB
gegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOB
exemplaren zijn volledig gekwalificeerd.NOTE
Vervangenlocalhost
* 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
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
NOTE
Herhaal deze stappen voor deDocumentManagementServiceClient
* service client. * -
-
Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
Inhoud ophalen door de
DocumentManagementServiceClient
objectretrieveContent
en 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
BLOB
uitvoerparameter die de inhoud opslaat. U kunt deze uitvoerparameter gebruiken om de inhoud op te halen. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
uitvoerparameter die inhoudskenmerken opslaat. - A
CRCResult
uitvoerparameter. In plaats van dit object te gebruiken, kunt u de opdrachtBLOB
uitvoerparameter 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
OutputServiceClient
objectgeneratePDFOutput2
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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
BLOB
object dat staat voor het formulierontwerp (gebruik deBLOB
instantie geretourneerd door Content Services (afgekeurd). - A
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec
-object dat renderingopties bevat. - De
BLOB
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een uitvoer
BLOB
object dat wordt gevuld door hetgeneratePDFOutput2
methode. DegeneratePDFOutput2
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoer
OutputResult
object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
De
generatePDFOutput2
methode retourneert eenBLOB
-object dat het niet-interactieve PDF-formulier bevat. - A
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Een
System.IO.FileStream
object 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
BLOB
object opgehaald uit hetgeneratePDFOutput2
methode. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
Documenten in de opslagplaats doorgeven aan de uitvoerservice
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
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.
generatePDFOutput2
en generatePrintedOutput2
accepteren com.adobe.idp.Document
object 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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. (Zie Verbindingseigenschappen instellen.) - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object. - Een
DocumentManagementServiceClientImpl
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Haal het formulierontwerp op uit de AEM Forms Repository.
De
ResourceRepositoryClient
objectreadResourceContent
methode 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
OutputClient
objectgeneratePDFOutput2
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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.Document
object dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door hetResourceRepositoryClient
objectreadResourceContent
methode). - A
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec
-object dat renderingopties bevat. - De
com.adobe.idp.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput2
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat. - A
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Een
com.adobe.idp.Document
object dat het niet-interactieve formulier vertegenwoordigt door hetOutputResult
objectgetGeneratedDoc
methode. - Een
java.io.File
object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door degetGeneratedDoc
methode).
- Een
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten maken met behulp van fragmenten
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object. - Een
AssemblerServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Gebruik de Assembler-service om het formulierontwerp te genereren.
De
AssemblerServiceClient
objectinvokeDDX
en 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
invokeDDX
methode retourneert eencom.adobe.livecycle.assembler.client.AssemblerResult
object dat het geassembleerde XDP-document bevat. Voer de volgende handelingen uit om het samengevoegde XDP-document op te halen:- De
AssemblerResult
objectgetDocuments
methode. Deze methode retourneert eenjava.util.Map
object. - Doorlopen
java.util.Map
object tot u het resultaat hebt gevondencom.adobe.idp.Document
object. - De
com.adobe.idp.Document
objectcopyToFile
methode voor het extraheren van het samengevoegde XDP-document.
- A
-
Gebruik de service Uitvoer om het PDF-document te genereren.
De
OutputClient
objectgeneratePDFOutput2
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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.Document
object dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door de Assembler-service wordt geretourneerd) - A
PDFOutputOptionsSpec
object dat PDF-runtime-opties bevat - A
RenderOptionsSpec
object dat renderingopties bevat - De
com.adobe.idp.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd
De
generatePDFOutput2
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat - A
-
Sla het PDF-document op als een PDF-bestand.
- Een
com.adobe.idp.Document
object dat het PDF-document vertegenwoordigt door hetOutputResult
objectgetGeneratedDoc
methode. - Een
java.io.File
object dat de resultaten van de bewerking bevat. Zorg ervoor dat de bestandsnaamextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
naar het bestand. (Zorg ervoor dat u decom.adobe.idp.Document
object datgetGeneratedDoc
geretourneerde 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
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:
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:
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.
Omdat
BLOB
het gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOB
gegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOB
exemplaren zijn volledig gekwalificeerd.NOTE
Vervangenlocalhost
* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output- en Assembler Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.UserName
veld. - Wijs de overeenkomstige wachtwoordwaarde aan toe
OutputServiceClient.ClientCredentials.UserName.Password
veld. - De constante waarde toewijzen
HttpClientCredentialType.Basic
aan deBasicHttpBindingSecurity.Transport.ClientCredentialType
veld.
- Wijs de gebruikersnaam voor AEM formulieren toe aan de
-
Wijs het
BasicHttpSecurityMode.TransportCredentialOnly
constante waarde voor deBasicHttpBindingSecurity.Security.Mode
veld.
NOTE
Herhaal deze stappen voor deAssemblerServiceClient
* object. * -
-
Gebruik de Assembler-service om het formulierontwerp te genereren.
De
AssemblerServiceClient
objectinvokeDDX
en geeft de volgende waarden door:- A
BLOB
object dat staat voor het DDX-document - De
MyMapOf_xsd_string_To_xsd_anyType
object dat de vereiste bestanden bevat - An
AssemblerOptionSpec
object dat uitvoeringsopties opgeeft
De
invokeDDX
methode retourneert eenAssemblerResult
object 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
AssemblerResult
objectdocuments
veld, dat eenMap
-object dat de resulterende PDF-documenten bevat. - Doorlopen
Map
object om het samengevoegde formulierontwerp op te halen. Cast het lid van die arrayvalue
eenBLOB
. Dit doorgevenBLOB
naar de service Uitvoer.
- A
-
Gebruik de service Uitvoer om het PDF-document te genereren.
De
OutputServiceClient
objectgeneratePDFOutput2
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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
BLOB
object 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
BLOB
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een uitvoer
BLOB
object datgeneratePDFOutput2
wordt gevuld. DegeneratePDFOutput2
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoer
OutputResult
object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
De
generatePDFOutput2
methode retourneert eenBLOB
-object dat het niet-interactieve PDF-formulier bevat. - A
-
Sla het PDF-document op als een PDF-bestand.
- Een
System.IO.FileStream
object 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
BLOB
object opgehaald uit hetgeneratePDFOutput2
methode. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
Afdrukken naar bestanden
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStream
object 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.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Een
PrintedOutputOptionsSpec
object met behulp van de constructor. - Geef het bestand op door het object PrintedOutputOptionsSpec aan te roepen
setFileURI
en 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
PrintedOutputOptionsSpec
objectsetCopies
methode 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
OutputClient
objectgeneratePrintedOutput
en geeft de volgende waarden door:- A
PrintFormat
opsommingswaarde 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
null
als u het XDC-bestand hebt opgegeven om te gebruiken met dePrintedOutputOptionsSpec
object). - De
PrintedOutputOptionsSpec
-object dat uitvoeringsopties bevat die zijn vereist voor het afdrukken naar een bestand. - De
com.adobe.idp.Document
object dat de XML-gegevensbron bevat die formuliergegevens bevat.
De
generatePrintedOutput
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat.NOTE
DeOutputResult
objectgetRecordLevelMetaDataList
methode retourneertnull
*. * - A
-
Haal de resultaten van de bewerking op.
- Een
com.adobe.idp.Document
object dat de status van hetgeneratePrintedOutput
door deOutputResult
objectgetStatusDoc
methode (deOutputResult
object is geretourneerd door degeneratePrintedOutput
methode). - Een
java.io.File
-object dat de resultaten van de bewerking bevat. Zorg ervoor dat de bestandsextensie XML is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door degetStatusDoc
methode).
- 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
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
Vervangenlocalhost
* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om formuliergegevens op te slaan. - Een
System.IO.FileStream
object 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.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenbinaryData
eigenschap 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
PrintedOutputOptionsSpec
object 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
PrintedOutputOptionsSpec
objectfileURI
lid. 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
PrintedOutputOptionsSpec
objectcopies
leden van gegevens.
- Een
-
Druk de afdrukstroom naar een bestand af.
Afdrukken naar een bestand door het
OutputServiceService
objectgeneratePrintedOutput
en geeft de volgende waarden door:- A
PrintFormat
opsommingswaarde 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
null
als u het XDC-bestand hebt opgegeven om te gebruiken met dePrintedOutputOptionsSpec
object). - De
PrintedOutputOptionsSpec
-object dat afdrukopties bevat die vereist zijn voor het afdrukken naar een bestand. - De
BLOB
object dat de XML-gegevensbron bevat die formuliergegevens bevat. - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - An
OutputResult
object 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.FileStream
object 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
BLOB
object dat is gevuld met resultaatgegevens door deOutputServiceService
objectgeneratePDFOutput
methode (de achtste parameter). Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Afdrukstromen naar printers verzenden
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een XML-gegevensbron
- Een
java.io.FileInputStream
object 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.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- 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 hetPrintedOutputOptionsSpec
objectsetCopies
methode.NOTE
U kunt de pagineringswaarde niet instellen met de opdrachtPrintedOutputOptionsSpec
objectsetPagination
als 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
OutputClient
objectgeneratePrintedOutput
en geeft de volgende waarden door:- A
PrintFormat
opsommingswaarde 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.Document
object dat staat voor de XML-gegevensbron die formuliergegevens bevat die met het formulierontwerp moeten worden samengevoegd.
Deze methode retourneert een
OutputResult
object dat de resultaten van de bewerking bevat. - A
-
Een
com.adobe.idp.Document
object dat naar de printer moet worden verzonden door deOutputResult
object 'sgetGeneratedDoc
methode. Deze methode retourneert eencom.adobe.idp.Document
object.
-
-
De afdrukstroom naar een netwerkprinter verzenden
Verzend de afdrukstroom naar een netwerkprinter door de
OutputClient
objectsendToPrinter
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat staat voor de afdrukstream die naar de printer moet worden verzonden. - A
PrinterProtocol
opsommingswaarde 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
DesendToPrinter
Deze methode is toegevoegd aan de AEM Forms API in versie 8.2.1. - A
Een afdrukstream naar een printer verzenden met de webservice-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
Vervangenlocalhost
* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om formuliergegevens op te slaan. - Een
System.IO.FileStream
object 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.FileStream
object. Bepaal de lengte van de bytearray door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
veld met de inhoud van de bytearray.
- Een
-
Stel opties voor het uitvoeren van de afdruk in.
Een
PrintedOutputOptionsSpec
object 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 hetPrintedOutputOptionsSpec
objectcopies
lid.NOTE
U kunt de pagineringswaarde niet instellen met de opdrachtPrintedOutputOptionsSpec
objectpagination
gegevenslid 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
OutputServiceService
objectgeneratePrintedOutput
en geeft de volgende waarden door:- A
PrintFormat
opsommingswaarde 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
BLOB
object dat de XML-gegevensbron bevat die formuliergegevens bevat. - A
BLOB
object dat wordt gevuld door hetgeneratePrintedOutput
methode. DegeneratePrintedOutput
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - A
BLOB
object dat wordt gevuld door hetgeneratePrintedOutput
methode. DegeneratePrintedOutput
Hiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - An
OutputResult
object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
- A
-
Een
BLOB
object dat naar de printer moet worden verzonden door de waarde vanOutputResult
object 'sgeneratedDoc
methode. Deze methode retourneert eenBLOB
object dat PostScript-gegevens bevat die door hetgeneratePrintedOutput
methode.
-
-
Verzend de afdrukstroom naar een netwerkprinter.
Verzend de afdrukstroom naar een netwerkprinter door de
OutputClient
objectsendToPrinter
en geeft de volgende waarden door:- A
BLOB
object dat staat voor de afdrukstream die naar de printer moet worden verzonden. - A
PrinterProtocol
opsommingswaarde die het te gebruiken printerprotocol aangeeft. Als u bijvoorbeeld het SharedPrinter-protocol wilt opgeven, geeft uPrinterProtocol.SharedPrinter
. - A
bool
waarde 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
DesendToPrinter
Deze methode is toegevoegd aan de AEM Forms API in versie 8.2.1. - A
Meerdere uitvoerbestanden maken
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een XML-gegevensbron
- Een
java.io.FileInputStream
object 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.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Opties voor PDF bij uitvoering instellen
- Een
PDFOutputOptionsSpec
object met behulp van de constructor. - Stel de optie Veel bestanden in door de
PDFOutputOptionsSpec
objectsetGenerateManyFiles
methode. Geef bijvoorbeeld de waarde doortrue
om 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
PDFOutputOptionsSpec
objectsetFileUri
methode 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
OutputOptionsSpec
objectsetRecordName
methode 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
RenderOptionsSpec
object met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het aanroepen van de
RenderOptionsSpec
objectsetCacheEnabled
en het passeren van eenBoolean
waarde vantrue
.
- Een
-
Meerdere PDF-bestanden genereren
Genereer meerdere PDF-bestanden door de
OutputClient
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
enum 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.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De
generatePDFOutput
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat. - A
-
De resultaten van de bewerking ophalen
- Een
java.io.File
object dat een XML-bestand vertegenwoordigt dat de resultaten van hetgeneratePDFOutput
methode. Controleer of de bestandsnaamextensie .xml is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door deapplyUsageRights
methode).
- 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
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
Vervangenlocalhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om formuliergegevens op te slaan die meerdere records bevatten. - Een
System.IO.FileStream
object 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.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
veld met de inhoud van de bytearray.
- Een
-
Stel PDF-uitvoeringsopties in.
- Een
PDFOutputOptionsSpec
object met behulp van de constructor. - Stel de optie Veel bestanden in door een Booleaanse waarde toe te wijzen aan de optie
OutputOptionsSpec
objectgenerateManyFiles
lid. Wijs bijvoorbeeld de waarde toetrue
aan 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 ufalse
aan 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
OutputOptionsSpec
objectfileURI
lid. 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
OutputOptionsSpec
objectrecordName
lid. - Stel de optie Kopiëren in door een geheel-getalwaarde toe te wijzen die het aantal exemplaren opgeeft dat de uitvoerservice genereert voor de
OutputOptionsSpec
objectcopies
lid.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpec
object 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
true
aan deRenderOptionsSpec
objectcacheEnabled
lid.
- Een
-
Genereer meerdere PDF-bestanden.
Meerdere PDF-bestanden maken door de
OutputServiceService
objectgeneratePDFOutput
en 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
BLOB
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met resultaatgegevens. - An
OutputResult
object 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.FileStream
object 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
BLOB
object dat is gevuld met resultaatgegevens door deOutputServiceService
objectgeneratePDFOutput
methode (de achtste parameter). Vul de bytearray met de waarde van deBLOB
objectbinaryData
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Zoekregels maken
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een XML-gegevensbron.
- Een
java.io.FileInputStream
object 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.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Definieer zoekregels.
- Een
Rule
object met behulp van de constructor. - Definieer een tekstpatroon door het
Rule
objectsetPattern
methode en het overgaan van een koordwaarde die een tekstpatroon specificeert. - Definieer het bijbehorende formulierontwerp door het
Rule
objectsetForm
methode. Geef een tekenreekswaarde door die de naam van het formulierontwerp aangeeft.
NOTE
Herhaal de vorige drie substappen voor elk tekstpatroon dat u wilt definiëren.- Een
java.util.List
object door eenjava.util.ArrayList
constructor. - Voor elke
Rule
het object dat u hebt gemaakt, activeert hetjava.util.List
objectadd
en geeft deRule
object.
- Een
-
Stel PDF-uitvoeringsopties in.
- Een
PDFOutputOptionsSpec
object met behulp van de constructor. - Geef de naam en locatie op van het PDF-bestand dat de uitvoerservice genereert door het
PDFOutputOptionsSpec
objectsetFileURI
methode. 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
PDFOutputOptionsSpec
objectsetRules
methode. Geef dejava.util.List
object dat hetRule
objecten. - Stel het aantal bytes in dat u wilt scannen voor de gedefinieerde tekstpatronen door het aanroepen van de
PDFOutputOptionsSpec
objectsetLookAhead
methode. Geef een geheel getal door dat het aantal bytes vertegenwoordigt.
- Een
-
Stel renderingopties in.
- Een
RenderOptionsSpec
object 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
RenderOptionsSpec
objectsetCacheEnabled
en passerentrue
.
- Een
-
Genereer een PDF-document.
Een PDF-document genereren dat is gebaseerd op meerdere formulierontwerpen door het aanroepen van de
OutputClient
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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
generatePDFOutput
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat. - A
-
Haal de resultaten van de bewerking op.
- Een
com.adobe.idp.Document
object dat de status van hetgeneratePDFOutput
door deOutputResult
objectgetStatusDoc
methode. - Een
java.io.File
-object dat de resultaten van de bewerking bevat. Controleer of de bestandsextensie .xml is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
object naar het bestand (gebruik decom.adobe.idp.Document
object dat is geretourneerd door degetStatusDoc
methode).
- 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
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
Vervangenlocalhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Verwijzen naar een XML-gegevensbron.
- Een
BLOB
object 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.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
veld met de inhoud van de bytearray.
- Een
-
Definieer zoekregels.
- Een
Rule
object met behulp van de constructor. - Definieer een tekstpatroon door een tekenreekswaarde toe te wijzen die een tekstpatroon opgeeft voor het
Rule
objectpattern
lid. - Definieer het bijbehorende formulierontwerp door een tekenreekswaarde toe te wijzen die het formulierontwerp opgeeft aan de
Rule
objectform
lid.
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
Rule
een object naar een element van hetMyArrayOf_xsd_anyType
array. DeMyArrayOf_xsd_anyType
objectAdd
methode voor elkeRule
object.
- Een
-
Opties voor PDF bij uitvoering instellen
- Een
PDFOutputOptionsSpec
object 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
PDFOutputOptionsSpec
objectfileURI
lid. 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
PDFOutputOptionsSpec
objectcopies
lid. - Stel de regels in die u hebt gedefinieerd door de
MyArrayOf_xsd_anyType
object dat de regels opslaat in het dialoogvensterPDFOutputOptionsSpec
objectrules
lid. - 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
PDFOutputOptionsSpec
objectlookAhead
gegevensmethode.
- Een
-
Renderopties tijdens runtime instellen
- Een
RenderOptionsSpec
object 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
true
aan deRenderOptionsSpec
objectcacheEnabled
lid.
NOTE
U kunt de versie van het PDF-document niet instellen met de opdrachtRenderOptionsSpec
objectpdfVersion
lid 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 opdrachtRenderOptionsSpec
objecttaggedPDF
methode als het invoerdocument een Acrobat-formulier is.NOTE
U kunt de optie Lineaire PDF niet instellen met de opdrachtRenderOptionsSpec
objectlinearizedPDF
lid 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
OutputServiceService
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
opsommingswaarde. 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
BLOB
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - A
BLOB
object dat wordt gevuld door hetgeneratePDFOutput
methode. DegeneratePDFOutput
Hiermee wordt dit object gevuld met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - An
OutputResult
object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
NOTE
Wanneer het produceren van een document van de PDF door te halengeneratePDFOutput
, 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.FileStream
object 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
BLOB
object dat is gevuld met resultaatgegevens door deOutputServiceService
objectgeneratePDFOutput
methode (de achtste parameter). Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar het XML-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
PDF-documenten afvlakken
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
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
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
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
OutputClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- 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.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Transformeer het PDF-document.
Transformeer het interactieve PDF-document naar een niet-interactief PDF-document door het
OutputServiceService
objecttransformPDF
en geeft de volgende waarden door:- De
com.adobe.idp.Document
object dat het interactieve PDF-document bevat. - A
TransformationFormat
enum value. Als u een niet-interactief PDF-document wilt genereren, geeft uTransformationFormat.PDF
. - A
PDFARevisionNumber
enum 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
PDFAConformance
Enumwaarde die het PDF/A-compatibiliteitsniveau vertegenwoordigt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt unull
.
De
transformPDF
methode 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.File
en zorg ervoor dat de bestandsnaamextensie .pdf is. - De
Document
objectcopyToFile
methode om de inhoud van deDocument
object naar het bestand (gebruik deDocument
object dat is geretourneerd door detransformPDF
methode).
- 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
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
Vervangenlocalhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Een
OutputServiceClient
object met de standaardconstructor. -
Een
OutputServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/OutputService?blob=mtom
.) U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
om MTOM te gebruiken. -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenOutputServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld 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.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Een interactief PDF-document ophalen.
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om het interactieve PDF-document op te slaan. - Een
System.IO.FileStream
door 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.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
eigenschap met de inhoud van de bytearray.
- Een
-
Transformeer het PDF-document.
Transformeer het interactieve PDF-document naar een niet-interactief PDF-document door het
OutputClient
objecttransformPDF
en geeft de volgende waarden door:- A
BLOB
object dat het interactieve PDF-document bevat. - A
TransformationFormat
opsommingswaarde. Als u een niet-interactief PDF-document wilt genereren, geeft uTransformationFormat.PDF
. - A
PDFARevisionNumber
enum value that specifies the revision number. - Een Booleaanse waarde die opgeeft of de klasse
PDFARevisionNumber
de 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
PDFAConformance
Enumwaarde die het PDF/A-compatibiliteitsniveau vertegenwoordigt. - Booleaanse waarde die opgeeft of de
PDFAConformance
de opsommingswaarde wordt gebruikt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt ufalse
.
De
transformPDF
methode 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.FileStream
door 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
BLOB
object dat is geretourneerd door detransformPDF
methode. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een