Documentuitvoerstromen maken creating-document-output-streams
de Steekproeven en de voorbeelden in dit document zijn slechts voor AEM Forms op milieu JEE.
Ongeveer de Dienst van de Output
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 com.adobe.idp.Document
-instantie met een formulierontwerp doorgeven aan de Output-service. U kunt ook een URI-waarde doorgeven die de locatie van het formulierontwerp opgeeft. Beide manieren worden besproken in Programmering met AEM vormen.
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 binnen een com.adobe.idp.Document
-instantie doorgeeft:
Wanneer u bepaalt welke techniek u moet gebruiken, kunt u bijvoorbeeld overwegen of u het formulierontwerp wilt ontvangen van een andere AEM Forms-service en het vervolgens wilt doorgeven in een com.adobe.idp.Document
-exemplaar. Zowel tonen het overgaan van Documenten aan de Dienst van de Output en Creërend de Documenten van PDF gebruikend de secties van Fragmenten hoe te om een vormontwerp van een andere dienst van AEM Forms te krijgen. De eerste sectie haalt het formulierontwerp op van 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 gebruiken.
Als u een URI-waarde wilt doorgeven die de locatie van het formulierontwerp opgeeft wanneer u een PDF-document maakt, gebruikt u de methode generatePDFOutput
. Op dezelfde manier kunt u de methode generatePDFOutput2
gebruiken om een com.adobe.idp.Document
-instantie door te geven aan de uitvoerservice wanneer u een PDF-document maakt.
Wanneer u een uitvoerstream naar een netwerkprinter verzendt, kunt u ook een van de twee technieken gebruiken. Om een outputstroom naar een printer te verzenden door een com.adobe.idp.Document
instantie over te gaan die een vormontwerp bevat, gebruik de sendToPrinter2
methode. Om een outputstroom naar een printer te verzenden door een waarde van URI over te gaan, gebruik de sendToPrinter
methode. Het verzenden van de Streams van de Druk aan de 1} sectie van Printers {gebruikt de sendToPrinter
methode.
U kunt deze taken uitvoeren met de service Uitvoer:
- PDF-documenten maken
- PDF/A-documenten maken
- Documenten in Inhoudsservices (afgekeurd) doorgeven aan de Uitvoerservice
- PDF-documenten maken met behulp van fragmenten
- Afdrukken naar bestanden
- Afdrukstromen naar printers verzenden
- Meerdere uitvoerbestanden maken
- Zoekregels maken
- PDF-documenten afvlakken
PDF-documenten maken creating-pdf-documents
Met de service Uitvoer kunt u een PDF-document maken dat is gebaseerd op een formulierontwerp en XML-formuliergegevens die u opgeeft. Het PDF-document dat door de Output-service 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 Creërend PDF/A Documenten.)
Met de Forms-service kunt u een interactief PDF-formulier maken waarmee een gebruiker gegevens kan invoeren. (Zie teruggevend Interactieve PDF forms.)
Overzicht van de stappen summary-of-steps
Voer de volgende stappen uit om een PDF-document te maken:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel PDF-uitvoeringsopties in.
- Stel renderingopties in.
- Een PDF-document genereren.
- Haal de resultaten van de bewerking op.
omvat projectdossiers
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.
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Maak een OutputClient
-object als u de Java API gebruikt. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService
-object.
Verwijzing een gegevensbron van XML
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>
plaats PDF runtime opties
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.
plaats teruggevend runtime opties
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 in cache plaatsen dat de uitvoerservice gebruikt 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 deze optie programmatisch in te stellen op false
, wordt het resultaat PDF-document nog steeds gecodeerd.
RenderOptionsSpec
voor informatie over het renderen van runtime-opties. (Zie AEM Forms API Verwijzing).produceer een document van de PDF
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. Naar een formulierontwerp (of andere bronnen zoals een afbeeldingsbestand) dat als onderdeel van een Forms-toepassing bestaat, kan worden verwezen met de URI-waarde van de basisinhoud repository:///
. Bijvoorbeeld, overweeg het volgende vormontwerp genoemd Loan.xdp binnen een toepassing van Forms genoemd Toepassingen/FormsApplication wordt gevestigd:
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/
op als de derde parameter die wordt doorgegeven aan de methode OutputClient
object generatePDFOutput
. Specificeer de vormnaam (Loan.xdp) als tweede parameter die tot de OutputClient
wordt overgegaan methode van objecten generatePDFOutput
.
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, dient u de afbeelding in Applications/FormsApplication/1.0/FormsFolder/
te plaatsen.
generatePDFOutput
of generatePrintedOutput
van het OutputClient
-object aanroept.wint de resultaten van de verrichting terug
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
Een PDF-document maken met de Java API create-a-pdf-document-using-the-java-api
Een PDF-document maken met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Verwijzen naar een XML-gegevensbron.
- Maak een
java.io.FileInputStream
-object dat staat voor de XML-gegevensbron die wordt gebruikt om het PDF-document te vullen met de constructor ervan en geef een tekenreekswaarde door die de locatie van het XML-bestand opgeeft. - Maak een
com.adobe.idp.Document
-object met behulp van de constructor. Geef het objectjava.io.FileInputStream
door.
- Maak een
-
Stel PDF-uitvoeringsopties in.
- Maak een
PDFOutputOptionsSpec
-object met behulp van de constructor. - Stel de optie File URI in door de methode
setFileURI
van het objectPDFOutputOptionsSpec
aan te roepen. 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.
- Maak een
-
Stel renderingopties in.
- Maak een
RenderOptionsSpec
-object met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het
RenderOptionsSpec
-objectsetCacheEnabled
aan te roepen en door te geventrue
.
note note NOTE U kunt de versie van het PDF-document niet instellen met de methode setPdfVersion
van hetRenderOptionsSpec
-object 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. U kunt ook de optie Adobe PDF met codes niet instellen door de methodesetTaggedPDF
van hetRenderOptionsSpec
-object aan te roepen als het invoerdocument een Acrobat-formulier of een ondertekend of gecertificeerd XFA-document is.note note NOTE U kunt de linearzed optie van de PDF niet plaatsen door de setLinearizedPDF
methode van het voorwerpRenderOptionsSpec
te gebruiken als het document van de inputPDF wordt verklaard of digitaal ondertekend. (Zie digitaal het Ondertekenen van de Documenten van PDF.) - Maak een
-
Een PDF-document genereren.
Maak een PDF-document door de methode
generatePDFOutput
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De methode
generatePDFOutput
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat.note note NOTE Wanneer u een PDF-document genereert door de methode generatePDFOutput
aan te roepen, kunt u geen gegevens samenvoegen met een ondertekend of gecertificeerd XFA-PDF-formulier. (Zie digitaal het Ondertekenen en het Certificeren Documenten.)note note NOTE De getRecordLevelMetaDataList
-methode van hetOutputResult
-object retourneertnull
.note note NOTE U kunt ook een PDF-document maken door de methode generatePDFOutput2
van het objectOutputClient
aan te roepen. (Zie het overgaan van Documenten in Inhoudsdiensten (afgekeurd) aan de Dienst van de Output.) - Een opsommingswaarde
-
Haal de resultaten van de bewerking op.
- Haal een
com.adobe.idp.Document
-object op dat de status van degeneratePDFOutput
-bewerking vertegenwoordigt door de methodegetStatusDoc
van hetOutputResult
-object aan te roepen. Deze methode retourneert XML-gegevens met de status die aangeven of de bewerking is geslaagd. - Maak een
java.io.File
-object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .xml is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodegetStatusDoc
is geretourneerd).
Hoewel de service Output het PDF-document naar de locatie schrijft die is opgegeven door het argument dat wordt doorgegeven aan de methode
setFileURI
van het objectPDFOutputOptionsSpec
, kunt u het PDF/A-document programmatisch ophalen door de methodegetGeneratedDoc
van het objectOutputResult
aan te roepen. - Haal 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
Een PDF-document maken met de webservice-API create-a-pdf-document-using-the-web-service-api
Maak een PDF-document met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijzen naar een XML-gegevensbron.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om XML-gegevens op te slaan die worden samengevoegd met het PDF-document. - Maak 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 het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door hetMTOM
-veld ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Opties voor PDF bij uitvoering instellen
- Maak 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 het
fileURI
-gegevenslid van hetPDFOutputOptionsSpec
-object. 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.
- Maak een
-
Stel renderingopties in.
- Maak 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
true
toe te wijzen aan het gegevenslid van hetRenderOptionsSpec
objectcacheEnabled
.
note note NOTE U kunt de versie van het PDF-document niet instellen met de methode setPdfVersion
van hetRenderOptionsSpec
-object 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 codes niet instellen door de methodesetTaggedPDF
* van hetRenderOptionsSpec
-object aan te roepen als het invoerdocument een Acrobat-formulier of een ondertekend of gecertificeerd XFA-document is.*note note NOTE U kunt de optie Gelineariseerde PDF niet instellen met het lid linearizedPDF
van hetRenderOptionsSpec
-object als het invoer-PDF-document is gecertificeerd of digitaal is ondertekend. (Zie digitaal het Ondertekenen van de Documenten van PDF.) - Maak een
-
Een PDF-document genereren.
Creeer een document van de PDF door de
generatePDFOutput
methode van hetOutputServiceService
voorwerp {aan te halen en de volgende waarden over te gaan:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
BLOB
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een
OutputResult
-object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
note note NOTE Wanneer u een PDF-document genereert door de methode generatePDFOutput
aan te roepen, kunt u geen gegevens samenvoegen met een ondertekend of gecertificeerd XFA-PDF-formulier. (Zie digitaal het Ondertekenen en het Certificeren Documenten.)note note NOTE U kunt ook een PDF-document maken door de methode generatePDFOutput2
van het objectOutputClient
aan te roepen. (Zie het overgaan van Documenten in Inhoudsdiensten (afgekeurd) aan de Dienst van de Output.) - Een opsommingswaarde
-
Haal de resultaten van de bewerking op.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt in een XML-bestand die resultaatgegevens bevat. Controleer of de bestandsnaamextensie .xml is. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat met resultaatgegevens is gevuld via de methodeOutputServiceService
objectgeneratePDFOutput
(de achtste parameter). Vul de bytearray met de waarde van het objectMTOM
field
.BLOB
- Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar het XML-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
Zie ook
- Maak een
AEM Forms aanroepen met SwaRef
generateOutput
van het object OutputServiceService
is afgekeurd.PDF/A-documenten maken creating-pdf-a-documents
Met de service Uitvoer kunt u een PDF/A-document maken. Omdat PDF/A een archiefindeling is voor langdurige bewaring van de inhoud van het document, worden alle lettertypen ingesloten en wordt het bestand niet gecomprimeerd. Een PDF/A-document is daarom doorgaans groter dan een standaard PDF-document. Bovendien bevat een PDF/A-document geen audio- en video-inhoud. Net als bij andere uitvoerservicetaken kunt u zowel een formulierontwerp als gegevens opgeven die met een formulierontwerp moeten worden samengevoegd om een PDF/A-document te maken.
De PDF/A-1-specificatie bestaat uit twee conformiteitsniveaus, namelijk a en b. Het grootste verschil tussen beide is met betrekking tot de logische structuur (toegankelijkheid) ondersteuning, die niet is vereist voor compatibiliteitsniveau 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 PDF- documenten 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. De PDF/A-standaard heeft tot doel een bestand van het type PDF te maken dat gedurende een lange periode kan worden opgeslagen en 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 programmatically het bepalen van PDF/A Complichtigheid.)
Een PDF/A-document moet het font gebruiken dat is opgegeven in het formulierontwerp en fonts kunnen niet worden vervangen. Als een lettertype dat zich in een PDF-document bevindt, niet beschikbaar is in het besturingssysteem van de host (OS), treedt daarom een uitzondering op.
Wanneer een PDF/A-document in Acrobat wordt geopend, wordt een bericht weergegeven waarin wordt bevestigd dat het document een PDF/A-document is, zoals in de volgende afbeelding wordt getoond.
Overzicht van de stappen summary_of_steps-1
Voer de volgende stappen uit om een PDF/A-document te maken:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel PDF/A-runtime-opties in.
- Stel renderingopties in.
- Een PDF/A-document genereren.
- Haal de resultaten van de bewerking op.
omvat projectdossiers
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een aangepaste toepassing maakt met behulp van 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.
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Maak een OutputClient
-object als u de Java API gebruikt. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService
-object.
Verwijzing een gegevensbron van XML
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.
plaats PDF/A runtime opties
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.
plaats teruggevend runtime opties
U kunt renderingopties instellen wanneer u PDF/A-documenten maakt. Twee aan PDF/A gerelateerde opties die u kunt instellen, zijn de waarden PDFAConformance
en PDFARevisionNumber
. De waarde PDFAConformance
verwijst naar de manier waarop een PDF-document voldoet aan vereisten die opgeven hoe elektronische documenten op lange termijn moeten worden behouden. Geldige waarden voor deze optie zijn A
en B
. Voor informatie over niveau a en b conformiteit, zie de PDF/A-1 specificatie van ISO die ISO 19005-1 het beheer van het Document wordt genoemd.
De waarde PDFARevisionNumber
verwijst naar het revisienummer van een PDF/A-document. Voor informatie over het revisieaantal van een document van PDF/A, zie de PDF/A-1 ISO specificatie die het beheer van het Document 19005-1 wordt genoemd.
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 codes niet instellen op true
wanneer u een PDF/A 1B-document maakt. PDF/A 1B wordt altijd een niet-gecodeerd PDF-document.produceer een document van PDF/A
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.
wint de resultaten van de verrichting terug
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
Een PDF/A-document maken met de Java API create-a-pdf-a-document-using-the-java-api
Een PDF/A-document maken met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Verwijzen naar een XML-gegevensbron.
- Maak 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 geef een tekenreekswaarde door die de locatie van het XML-bestand opgeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Stel PDF/A-runtime-opties in.
- Maak een
PDFOutputOptionsSpec
-object met behulp van de constructor. - Stel de optie File URI in door de methode
setFileURI
van het objectPDFOutputOptionsSpec
aan te roepen. 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.
- Maak een
-
Stel renderingopties in.
- Maak een
RenderOptionsSpec
-object met behulp van de constructor. - Stel de
PDFAConformance
-waarde in door de methodeRenderOptionsSpec
objectsetPDFAConformance
aan te roepen en eenPDFAConformance
enum-waarde door te geven die het compatibiliteitsniveau opgeeft. Als u bijvoorbeeld compatibiliteitsniveau A wilt opgeven, geeft uPDFAConformance.A
door. - Stel de waarde
PDFARevisionNumber
in door de methodeRenderOptionsSpec
objectsetPDFARevisionNumber
aan te roepen en door te gevenPDFARevisionNumber.Revision_1
.
note note NOTE De versie van PDF van een PDF/A- document is 1.4 ongeacht welke waarde u voor de setPdfVersion
methode van 0} objecten {specificeert.RenderOptionsSpec
- Maak een
-
Een PDF/A-document genereren.
Maak een PDF/A-document door de methode
generatePDFOutput
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
TransformationFormat
. Als u een PDF/A-document wilt genereren, geeft uTransformationFormat.PDFA
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De methode
generatePDFOutput
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat.note note NOTE De methode getRecordLevelMetaDataList
van het objectOutputResult
retourneertnull
.note note NOTE U kunt een PDF /A document ook tot stand brengen door de generatePDFOutput
2 methode van objectenOutputClient
aan te halen. (Zie het overgaan van Documenten in de Vervangen Inhoudsdiensten aan de Dienst van de Output.) - Een opsommingswaarde
-
Haal de resultaten van de bewerking op.
- Maak een
com.adobe.idp.Document
-object dat de status van de methodegeneratePDFOutput
vertegenwoordigt door de methodeOutputResult
van het objectgetStatusDoc
aan te roepen. - Maak een
java.io.File
-object dat de resultaten van de bewerking zal bevatten. Controleer of de bestandsnaamextensie .xml is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodegetStatusDoc
is geretourneerd).
note note NOTE Hoewel de service Output het PDF/A-document schrijft naar de locatie die is opgegeven door het argument dat wordt doorgegeven aan de methode setFileURI
van het objectPDFOutputOptionsSpec
, kunt u het PDF/A-document programmatisch ophalen door de methodegetGeneratedDoc
van het objectOutputResult
aan te roepen. - Maak een
zie ook
Snel starten (SOAP modus): een PDF/A-document maken met de Java API
Een PDF/A-document maken met de webservice-API create-a-pdf-a-document-using-the-web-service-api
Een PDF/A-document maken met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijzen naar een XML-gegevensbron.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt voor het opslaan van gegevens die worden samengevoegd met het PDF/A-document. - Maak 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 het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door hetMTOM
-veld ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Stel PDF/A-runtime-opties in.
- Maak 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 het
fileURI
-gegevenslid van hetPDFOutputOptionsSpec
-object. De optie File URI is relatief ten opzichte van de J2EE-toepassingsserver die als host fungeert voor AEM Forms, niet de clientcomputer
- Maak een
-
Stel renderingopties in.
- Maak een
RenderOptionsSpec
-object met behulp van de constructor. - Stel de
PDFAConformance
-waarde in door eenPDFAConformance
enum-waarde toe te wijzen aan hetRenderOptionsSpec
-gegevenslid van hetPDFAConformance
-object. Als u bijvoorbeeld compatibiliteitsniveau A wilt opgeven, wijst uPDFAConformance.A
toe aan dit gegevenslid. - Stel de
PDFARevisionNumber
-waarde in door eenPDFARevisionNumber
enum-waarde toe te wijzen aan hetRenderOptionsSpec
-gegevenslid van hetPDFARevisionNumber
-object. WijsPDFARevisionNumber.Revision_1
toe aan dit gegevenslid.
note note NOTE De PDF-versie van een PDF/A-document is 1.4, ongeacht de waarde die u opgeeft. - Maak een
-
Een PDF/A-document genereren.
Creeer een document van de PDF door de
generatePDFOutput
methode van hetOutputServiceService
voorwerp {aan te halen en de volgende waarden over te gaan:- Een opsommingswaarde van TransformationFormat. Als u een PDF-document wilt genereren, geeft u
TransformationFormat.PDFA
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
BLOB
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een
OutputResult
-object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
note note NOTE U kunt een PDF /A document ook tot stand brengen door de generatePDFOutput
2 methode van objectenOutputClient
aan te halen. (Zie het overgaan van Documenten in de Vervangen Inhoudsdiensten 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.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt in een XML-bestand die resultaatgegevens bevat. Controleer of de bestandsnaamextensie .xml is. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat met resultaatgegevens is gevuld via de methodeOutputServiceService
objectgeneratePDFOutput
(de achtste parameter). Vul de bytearray met de waarde van het veldMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar het XML-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Documenten in Inhoudsservices (afgekeurd) doorgeven aan de Uitvoerservice passing-documents-located-in-content-services-deprecated-to-the-output-service
De Output-service 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, doorgeven aan de Output-service. Vervolgens rendert de uitvoerservice het formulierontwerp in het com.adobe.idp.Document
-object.
Een voordeel van het doorgeven van een com.adobe.idp.Document
-object aan de Output-service is dat andere AEM Forms-servicebewerkingen een com.adobe.idp.Document
-instantie retourneren. U kunt dus een com.adobe.idp.Document
-instantie ophalen uit een andere servicebewerking en deze renderen. Stel bijvoorbeeld dat een XDP-bestand wordt opgeslagen in een knooppunt Content Services (afgekeurd) met de naam /Company Home/Form Designs
, zoals in de volgende afbeelding wordt getoond.
U kunt Loan.xdp via programmacode ophalen uit Content Services (afgekeurd) en het XDP-bestand doorgeven aan de uitvoerservice binnen een com.adobe.idp.Document
-object.
Overzicht van de stappen summary_of_steps-2
Als u een document dat is verkregen van Content Services (afgekeurd) wilt doorgeven aan de service Uitvoer, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een Output- en een Document Management Client API-object.
- Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
- Het niet-interactieve PDF formulier weergeven.
- Voer een handeling uit met de gegevensstroom.
omvat projectdossiers
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.
creeer een Output en een voorwerp van de Cliënt API van het Beheer van het Document
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.
wint het vormontwerp van de (Vervangen) Diensten van de Inhoud terug
Haal het XDP-bestand op van Content Services (afgekeurd) met 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). Vervolgens kunt u de instantie com.adobe.idp.Document
doorgeven aan de service Uitvoer.
geef de niet-interactieve vorm van PDF terug
Als u een niet-interactief formulier wilt weergeven, geeft u het exemplaar com.adobe.idp.Document
dat is geretourneerd van Content Services (afgekeurd), door aan de uitvoerservice.
generatePDFOutput2
en g eneratePrintedOutput2
goedkeuren een com.adobe.idp.Document
voorwerp dat een vormontwerp bevat. U kunt ook a com.adobe.idp.Document
doorgeven die het formulierontwerp aan de service Output bevat wanneer u een afdrukstroom naar een netwerkprinter verzendt.voer een actie met de stroom van vormgegevens uit
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 de API voor webservices
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Documenten doorgeven aan de uitvoerservice met de Java API pass-documents-to-the-output-service-using-the-java-api
Geef een document door dat is opgehaald uit Content Services (afgekeurd) met de Output-service en Content Services (afgekeurd) API (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden voor clients, zoals adobe-output-client.jar en adobe-contentservices-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output- en een Document Management Client API-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. (Zie Plaatsende verbindingseigenschappen.) - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven. - Maak een
DocumentManagementServiceClientImpl
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
Roep de methode
retrieveContent
van het objectDocumentManagementServiceClientImpl
aan en geef 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 methode
retrieveContent
retourneert eenCRCResult
-object dat het XDP-bestand bevat. Haal eencom.adobe.idp.Document
-instantie op door de methodeCRCResult
objectgetDocument
aan te roepen. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Het niet-interactieve PDF formulier weergeven.
Roep de methode
generatePDFOutput2
van het objectOutputClient
aan en geef de volgende waarden door:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden.
- Een
com.adobe.idp.Document
-object dat het formulierontwerp vertegenwoordigt (gebruik de instantie die wordt geretourneerd door de methodeCRCResult
objectgetDocument
). - Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De methode
generatePDFOutput2
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat. - Een opsommingswaarde
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Haal een
com.adobe.idp.Document
-object op dat het niet-interactieve formulier vertegenwoordigt door de methodeOutputResult
objectgetGeneratedDoc
aan te roepen. - Maak een
java.io.File
-object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodegetGeneratedDoc
is geretourneerd).
- Haal 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
Documenten doorgeven aan de uitvoerservice met de API voor webservices pass-documents-to-the-output-service-using-the-web-service-api
Geef een document door dat is opgehaald uit Content Services (afgekeurd) met de Output-service en Content Services (afgekeurd) API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Omdat deze cliënttoepassing de twee diensten van AEM Forms aanhaalt, creeer twee de dienstverwijzingen. Gebruik de volgende WSDL-definitie voor de serviceverwijzing die aan de service Output is gekoppeld:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.Gebruik de volgende WSDL-definitie voor de serviceverwijzing die is gekoppeld aan de Document Management-service:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.Omdat het gegevenstype
BLOB
veel wordt gebruikt voor beide serviceverwijzingen, kunt u het gegevenstype vanBLOB
volledig kwalificeren wanneer u het gebruikt. In de bijbehorende webservice quick start zijn alleBLOB
-instanties volledig gekwalificeerd.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output- en een Document Management Client API-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Herhaal deze stappen voor de DocumentManagementServiceClient
de dienstcliënt. -
-
Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
Haal inhoud op door de methode
retrieveContent
van het objectDocumentManagementServiceClient
aan te roepen en de volgende waarden door te geven:- 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.
- Een
BLOB
uitvoerparameter die de inhoud opslaat. U kunt deze uitvoerparameter gebruiken om de inhoud op te halen. - Een
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
uitvoerparameter die inhoudskenmerken opslaat. - Een
CRCResult
uitvoerparameter. In plaats van dit object te gebruiken, kunt u de uitvoerparameterBLOB
gebruiken 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.
Roep de methode
generatePDFOutput2
van het objectOutputServiceClient
aan en geef de volgende waarden door:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden.
- Een
BLOB
-object dat het formulierontwerp vertegenwoordigt (gebruik deBLOB
-instantie die wordt geretourneerd door Content Services (afgekeurd)). - Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
BLOB
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een uitvoerobject
BLOB
dat wordt gevuld door de methodegeneratePDFOutput2
. De methodegeneratePDFOutput2
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoerobject
OutputResult
dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
De methode
generatePDFOutput2
retourneert eenBLOB
-object dat het niet-interactieve PDF-formulier bevat. - Een opsommingswaarde
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Maak 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 wordt opgeslagen van het
BLOB
-object dat is opgehaald van de methodegeneratePDFOutput2
. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Documenten in de opslagplaats doorgeven aan de uitvoerservice passing-documents-located-in-the-repository-to-the-output-service
De Output-service 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, doorgeven aan de Output-service. Vervolgens rendert de uitvoerservice het formulierontwerp in het com.adobe.idp.Document
-object.
Een voordeel van het doorgeven van een com.adobe.idp.Document
-object aan de Output-service is dat andere AEM Forms-servicebewerkingen een com.adobe.idp.Document
-instantie retourneren. U kunt dus een com.adobe.idp.Document
-instantie ophalen uit een andere servicebewerking en deze renderen. Stel bijvoorbeeld dat een XDP-bestand wordt opgeslagen in de AEM Forms-opslagplaats, zoals in de volgende afbeelding wordt getoond.
De ** omslag FormsFolder is een user-defined plaats in de bewaarplaats van AEM Forms (deze plaats is een voorbeeld en bestaat niet door gebrek). In dit voorbeeld bevindt het formulierontwerp met de naam Loan.xdp zich in deze map. Naast het formulierontwerp kunnen ook andere formulierelementen, zoals afbeeldingen, op deze locatie worden opgeslagen. Het pad naar een resource in de AEM Forms-opslagplaats is:
Applications/Application-name/Application-version/Folder.../Filename
U kunt Loan.xdp via programmacode ophalen uit de AEM Forms-opslagplaats en deze doorgeven aan de Output-service binnen een 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 Begin (wijze EJB): Creërend een document dat van PDF op een toepassing XDP dossier gebruikend Java APIwordt gebaseerd (toont hoe te om de plaats van het XDP dossier door verwijzing over te gaan).
Snelle Begin (wijze EJB): Het overgaan van een document in de Bewaarplaats van AEM Forms tot de dienst van de Output die Java APIgebruikt (toont hoe te om het XDP dossier van de Bewaarplaats van AEM Forms programmatically terug te winnen en het tot de dienst van de Output binnen a com.adobe.idp.Document
instantie over te gaan). (In deze sectie wordt besproken hoe deze taak moet worden uitgevoerd)
Overzicht van de stappen summary_of_steps-3
Voer de volgende taken uit om een document dat is verkregen van de AEM Forms-opslagplaats door te geven aan de Output-service:
- Inclusief projectbestanden.
- Maak een Output- en een Document Management Client API-object.
- Haal het formulierontwerp op uit de AEM Forms-opslagplaats.
- Het niet-interactieve PDF formulier weergeven.
- Voer een handeling uit met de gegevensstroom.
omvat projectdossiers
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.
creeer een Output en een voorwerp van de Cliënt API van het Beheer van het Document
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.
wint het vormontwerp van de Bewaarplaats van AEM Forms terug
Haal het XDP-bestand op uit de AEM Forms Repository met behulp van de Repository API. (Zie Leesmiddelen.)
Het XDP-bestand wordt geretourneerd binnen een com.adobe.idp.Document
-instantie (of een BLOB
-instantie als u webservices gebruikt). Vervolgens kunt u de instantie com.adobe.idp.Document
doorgeven aan de service Uitvoer.
geef de niet-interactieve vorm van PDF terug
Als u een niet-interactief formulier wilt genereren, geeft u het com.adobe.idp.Document
-exemplaar door dat is geretourneerd met de AEM Forms Repository API.
generatePDFOutput2
en generatePrintedOutput2
goedkeuren a com.adobe.idp.Document
voorwerp dat een vormontwerp bevat. U kunt ook een com.adobe.idp.Document
met het formulierontwerp aan de Output-service doorgeven wanneer u een afdrukstroom naar een netwerkprinter verzendt.voer een actie met de stroom van vormgegevens uit
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 gegevensopslagruimte aan de uitvoerservice doorgeven met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Uitvoerservice-API - Snel starten
ResourceRepositoryClient
Documenten in de gegevensopslagruimte aan de uitvoerservice doorgeven met de Java API pass-documents-located-in-the-repository-to-the-output-service-using-the-java-api
Geef een document dat is opgehaald uit de opslagplaats door gebruik te maken van de Output-service en de Repository-API (Java):
-
Inclusief projectbestanden.
Neem JAR-bestanden voor clients, zoals adobe-output-client.jar en adobe-repository-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output- en een Document Management Client API-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. (Zie Plaatsende verbindingseigenschappen.) - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven. - Maak een
DocumentManagementServiceClientImpl
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Haal het formulierontwerp op uit de AEM Forms Repository.
Roep de methode
readResourceContent
van het objectResourceRepositoryClient
aan en geef een tekenreekswaarde door die de URI-locatie aan het XDP-bestand opgeeft. 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.
Roep de methode
generatePDFOutput2
van het objectOutputClient
aan en geef de volgende waarden door:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden. Bijvoorbeeld
repository:///Applications/FormsApplication/1.0/FormsFolder/
. - Een
com.adobe.idp.Document
-object dat het formulierontwerp vertegenwoordigt (gebruik de instantie die wordt geretourneerd door de methodeResourceRepositoryClient
objectreadResourceContent
). - Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De methode
generatePDFOutput2
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat. - Een opsommingswaarde
-
Voer een handeling uit met de gegevensstroom van het formulier.
- Haal een
com.adobe.idp.Document
-object op dat het niet-interactieve formulier vertegenwoordigt door de methodeOutputResult
objectgetGeneratedDoc
aan te roepen. - Maak een
java.io.File
-object dat de resultaten van de bewerking bevat. Controleer of de bestandsnaamextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodegetGeneratedDoc
is geretourneerd).
- Haal een
zie ook
PDF-documenten maken met behulp van fragmenten creating-pdf-documents-using-fragments
Met de services Uitvoer en Samenstellen kunt u een uitvoerstream maken, zoals een PDF-document, die is gebaseerd op fragmenten. De Assembler-service brengt een XDP-document samen dat is gebaseerd op fragmenten in meerdere XDP-bestanden. 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.
Vóór het lezen Creërend de Documenten van de PDF gebruikend Fragments, wordt het geadviseerd dat u vertrouwd met het gebruiken van de dienst van de Assembler wordt om veelvoudige XDP documenten samen te stellen. (Zie het Samenstellen Veelvoudige XDP Fragments.)
Overzicht van de stappen summary_of_steps-4
Voer de volgende stappen uit om een PDF-document te maken op basis van fragmenten:
- Inclusief projectbestanden.
- Maak een Output- en Assembler Client-object.
- Gebruik de Assembler-service om het formulierontwerp te genereren.
- Gebruik de service Uitvoer om het PDF-document te genereren.
- Sla het PDF-document op als een PDF-bestand.
omvat projectdossiers
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.
creeer een Output en AssemblerCliënt voorwerp
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.
gebruik de dienst van de Assembler om het vormontwerp te produceren
Met de Assembler-service kunt u het formulierontwerp genereren met behulp van fragmenten. De Assembler-service retourneert een com.adobe.idp.Document
-instantie die het formulierontwerp bevat.
Gebruik de dienst van de Output om het document van de PDF te produceren
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 door die de Assembler-service aan de Output-service heeft geretourneerd.
sparen het document van de PDF als dossier van PDF
Nadat de service Uitvoer een PDF-document heeft gegenereerd, kunt u dit 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
Een PDF-document maken op basis van fragmenten met de Java API create-a-pdf-document-based-on-fragments-using-the-java-api
Maak een PDF-document op basis van fragmenten met de API voor uitvoerservice en de API voor vergaderingsservice (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output- en Assembler Client-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven. - Maak een
AssemblerServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Gebruik de Assembler-service om het formulierontwerp te genereren.
Roep de methode
invokeDDX
van het objectAssemblerServiceClient
aan en geef de volgende vereiste waarden door:- Een
com.adobe.idp.Document
-object dat het te gebruiken DDX-document vertegenwoordigt. - Een
java.util.Map
-object dat de invoer-XDP-bestanden bevat. - Een
com.adobe.livecycle.assembler.client.AssemblerOptionSpec
-object dat de runtime-opties opgeeft, inclusief het standaardlettertype en het taaklogniveau.
De methode
invokeDDX
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:- Roep de methode
getDocuments
van het objectAssemblerResult
aan. Deze methode retourneert eenjava.util.Map
-object. - Doorloop het
java.util.Map
-object totdat u het resulterendecom.adobe.idp.Document
-object vindt. - Roep de methode
copyToFile
van hetcom.adobe.idp.Document
-object aan om het samengevoegde XDP-document te extraheren.
- Een
-
Gebruik de service Uitvoer om het PDF-document te genereren.
Roep de methode
generatePDFOutput2
van het objectOutputClient
aan en geef de volgende waarden door:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden
- Een
com.adobe.idp.Document
-object dat het formulierontwerp vertegenwoordigt (gebruik de instantie die door de Assembler-service wordt geretourneerd) - Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat - Een
RenderOptionsSpec
-object dat renderingopties bevat - Het object
com.adobe.idp.Document
dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd
De methode
generatePDFOutput2
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat - Een opsommingswaarde
-
Sla het PDF-document op als een PDF-bestand.
- Haal een
com.adobe.idp.Document
-object op dat het PDF-document vertegenwoordigt door de methodeOutputResult
objectgetGeneratedDoc
aan te roepen. - Maak een
java.io.File
-object dat de resultaten van de bewerking bevat. Zorg ervoor dat de bestandsnaamextensie .pdf is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren. (Zorg ervoor dat u het objectcom.adobe.idp.Document
gebruikt dat de methodegetGeneratedDoc
heeft geretourneerd.)
- Haal 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
Een PDF-document maken op basis van fragmenten met de webservice-API create-a-pdf-document-based-on-fragments-using-the-web-service-api
Maak een PDF-document op basis van fragmenten met de API voor uitvoerservice en de API voor vergaderingsservice (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van de Output:
code language-java http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1.
Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van de Assembler:
code language-java http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1.
Omdat het gegevenstype
BLOB
veel wordt gebruikt voor beide serviceverwijzingen, kunt u het gegevenstype vanBLOB
volledig kwalificeren wanneer u het gebruikt. In de bijbehorende webservice quick start zijn alleBLOB
-instanties volledig gekwalificeerd.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output- en Assembler Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de AEM de gebruikersnaam van de vormengebruiker aan het
OutputServiceClient.ClientCredentials.UserName.UserName
gebied toe. - Wijs de overeenkomstige wachtwoordwaarde aan het
OutputServiceClient.ClientCredentials.UserName.Password
gebied toe. - Wijs de constante waarde
HttpClientCredentialType.Basic
aan hetBasicHttpBindingSecurity.Transport.ClientCredentialType
gebied toe.
- Wijs de AEM de gebruikersnaam van de vormengebruiker aan het
-
Wijs de
BasicHttpSecurityMode.TransportCredentialOnly
constante waarde aan hetBasicHttpBindingSecurity.Security.Mode
gebied toe.
note note NOTE Herhaal deze stappen voor het AssemblerServiceClient
voorwerp. -
-
Gebruik de Assembler-service om het formulierontwerp te genereren.
Roep de methode
invokeDDX
van het objectAssemblerServiceClient
aan en geef de volgende waarden door:- Een
BLOB
-object dat het DDX-document vertegenwoordigt - Het
MyMapOf_xsd_string_To_xsd_anyType
-object dat de vereiste bestanden bevat - Een
AssemblerOptionSpec
-object dat uitvoeringsopties opgeeft
De methode
invokeDDX
retourneert eenAssemblerResult
-object dat de resultaten van de taak en eventuele uitzonderingen bevat. Voer de volgende handelingen uit om het nieuwe XDP-document te verkrijgen:- Open het veld
documents
van hetAssemblerResult
-object (eenMap
-object dat de resulterende PDF-documenten bevat). - Doorloop het
Map
-object om het samengevoegde formulierontwerp op te halen. Cast het elementvalue
van dat arraylid naar eenBLOB
. Geef dezeBLOB
-instantie door aan de Output-service.
- Een
-
Gebruik de service Uitvoer om het PDF-document te genereren.
Roep de methode
generatePDFOutput2
van het objectOutputServiceClient
aan en geef de volgende waarden door:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar de extra bronnen, zoals afbeeldingen, zich bevinden.
- Een
BLOB
-object dat het formulierontwerp vertegenwoordigt (gebruik deBLOB
-instantie die door de Assembler-service wordt geretourneerd). - Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
BLOB
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een uitvoerobject
BLOB
dat door de methodegeneratePDFOutput2
wordt gevuld. De methodegeneratePDFOutput2
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een uitvoerobject
OutputResult
dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
De methode
generatePDFOutput2
retourneert eenBLOB
-object dat het niet-interactieve PDF-formulier bevat. - Een opsommingswaarde
-
Sla het PDF-document op als een PDF-bestand.
- Maak 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 wordt opgeslagen van het
BLOB
-object dat is opgehaald van de methodegeneratePDFOutput2
. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Afdrukken naar bestanden printing-to-files
U kunt de uitvoerservice gebruiken om streams zoals PostScript, Printer Control Language (PCL) of de volgende labelindelingen naar een bestand af te drukken:
- Zebra - ZPL
- Intermec, IPL
- Datamax - DPL
- TecToshiba - TPCL
Met de service Uitvoer kunt u XML-gegevens samenvoegen met een formulierontwerp en het formulier afdrukken naar een bestand. In de volgende afbeelding ziet u hoe de uitvoerservice laser- en labelbestanden maakt.
Overzicht van de stappen summary_of_steps-5
Voer de volgende stappen uit om naar een bestand af te drukken:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Druk de afdrukstroom naar een bestand af.
- Haal de resultaten van de bewerking op.
omvat projectdossiers
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 de bibliotheekdossiers van AEM Forms Java.)
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Maak een OutputClient
-object als u de Java API gebruikt. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService
-object.
Verwijzing een gegevensbron van XML
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.
plaats druk runtime opties die aan druk aan een dossier worden vereist
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. Bijvoorbeeld, om de dienst van de Output op te dragen om een dossier van PostScript te drukken genoemd MortgaugeForm.ps aan C:\Adobe, specificeer C:\Adobe\MortgageForm.ps.
PrintedOutputOptionsSpec
klassenverwijzing in AEM Forms API Verwijzing.Druk de drukstroom aan een dossier
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.
wint de resultaten van de verrichting terug
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
Afdrukken naar bestanden met de Java API print-to-files-using-the-java-api
Afdrukken naar een bestand met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Verwijzen naar een XML-gegevensbron.
- Maak een
java.io.FileInputStream
-object dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het document te vullen met behulp van de constructor en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Maak een
PrintedOutputOptionsSpec
-object met behulp van de constructor. - Geef het bestand op door de methode
setFileURI
van het PrintOutputOptionsSpec-object aan te roepen en een tekenreekswaarde door te geven 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 moet worden afgedrukt door de methode
setCopies
van het objectPrintedOutputOptionsSpec
aan te roepen en een geheel-getalwaarde door te geven die het aantal kopieën vertegenwoordigt.
- Maak een
-
Druk de afdrukstroom naar een bestand af.
U kunt afdrukken naar een bestand door de methode
generatePrintedOutput
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
PrintFormat
die de indeling van de afdrukstroom opgeeft die moet worden gemaakt. Wanneer u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript
door. - 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
null
doorgeven als u het XDC-bestand hebt opgegeven dat moet worden gebruikt met hetPrintedOutputOptionsSpec
-object). - Het
PrintedOutputOptionsSpec
-object dat runtime-opties bevat die zijn vereist voor het afdrukken naar een bestand. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron bevat die formuliergegevens bevat.
De methode
generatePrintedOutput
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat.note note NOTE De methode getRecordLevelMetaDataList
van het objectOutputResult
retourneertnull
. - Een opsommingswaarde
-
Haal de resultaten van de bewerking op.
- Maak een
com.adobe.idp.Document
-object dat de status van de methodegeneratePrintedOutput
vertegenwoordigt door de methodegetStatusDoc
van het objectOutputResult
aan te roepen (het objectOutputResult
is geretourneerd door de methodegeneratePrintedOutput
). - Maak een
java.io.File
-object dat de resultaten van de bewerking zal bevatten. Zorg ervoor dat de bestandsextensie XML is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodegetStatusDoc
is geretourneerd).
- Maak een
zie ook
Snel starten (SOAP modus): Afdrukken naar een bestand met de Java API
Afdrukken naar bestanden met de webservice-API print-to-files-using-the-web-service-api
Afdrukken naar een bestand met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijzen naar een XML-gegevensbron.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om formuliergegevens op te slaan. - Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de locatie opgeeft van het XML-bestand dat formuliergegevens bevat. - Maak een bytearray waarin de inhoud van het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het object
BLOB
door de eigenschapbinaryData
ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Stel de runtime-opties voor afdrukken in die nodig zijn om af te drukken naar een bestand.
- Maak 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 aan het gegevenslid
fileURI
van hetPrintedOutputOptionsSpec
-object. Bijvoorbeeld, als u de dienst van de Output aan een dossier van PostScript genoemd wilt drukken 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
copies
-gegevensleden van het objectPrintedOutputOptionsSpec
vertegenwoordigt.
- Maak een
-
Druk de afdrukstroom naar een bestand af.
U kunt afdrukken naar een bestand door de methode
generatePrintedOutput
van het objectOutputServiceService
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
PrintFormat
die de indeling van de afdrukstroom opgeeft die moet worden gemaakt. Wanneer u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript
door. - 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
null
doorgeven als u het XDC-bestand hebt opgegeven dat moet worden gebruikt met hetPrintedOutputOptionsSpec
-object). - Het
PrintedOutputOptionsSpec
-object dat afdrukopties tijdens runtime bevat die vereist zijn om af te drukken naar een bestand. - Het
BLOB
-object dat de XML-gegevensbron bevat die formuliergegevens bevat. - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een
OutputResult
-object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
- Een opsommingswaarde
-
Haal de resultaten van de bewerking op.
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt in een XML-bestand die resultaatgegevens bevat. Zorg ervoor dat de bestandsextensie XML is. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat met resultaatgegevens is gevuld via de methodeOutputServiceService
objectgeneratePDFOutput
(de achtste parameter). Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar het XML-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Afdrukstromen naar printers verzenden sending-print-streams-to-printers
U kunt de service Uitvoer gebruiken om afdrukstreams zoals PostScript, Printer Control Language (PCL) of de volgende labelindelingen naar netwerkprinters te verzenden:
- Zebra - ZPL
- Intermec, IPL
- Datamax - DPL
- TecToshiba - TPCL
Met de Output-service kunt u XML-gegevens samenvoegen met een formulierontwerp en het formulier uitvoeren als een afdrukstroom. U kunt bijvoorbeeld een PostScript-afdrukstroom maken en deze naar een netwerkprinter verzenden. In de volgende afbeelding ziet u hoe de uitvoerservice afdrukstreams naar netwerkprinters verzendt.
Overzicht van de stappen summary_of_steps-6
Voer de volgende stappen uit om een afdrukstroom naar een netwerkprinter te verzenden:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Uitvoeropties voor afdrukken instellen
- Een af te drukken document ophalen.
- Verzend het document naar een netwerkprinter.
omvat projectdossiers
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.
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, maakt u een uitvoerservice-clientobject. Maak een OutputClient
-object als u de Java API gebruikt. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceClient
-object.
Verwijzing een gegevensbron van XML
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.
plaats druk runtime opties
U kunt de runtime-opties instellen wanneer u een afdrukstroom naar een printer verzendt, inclusief de volgende opties:
- Exemplaren: Specificeert het aantal exemplaren naar de printer te 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: Een optie XCI wordt geplaatst wanneer de outputpagina's zouden moeten worden tot stand gebracht (fysisch verschoven in het outputdienblad). Deze optie geldt alleen voor PS- en PCL-printers.
- OutputBin: XCI waarde die wordt gebruikt om de drukbestuurder toe te laten om de aangewezen outputbak te selecteren.
PrintedOutputOptionsSpec
voor informatie over alle runtime-opties die u kunt instellen.wint een document terug om te drukken
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 ervoor kiezen een PDF-bestand te 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 printer is dat het alleen wordt afgedrukt; het heeft geen toegang tot de duplex-, papierlade- en nietfunctie, behalve via de printerinstellingen.
Als u een document wilt ophalen om af te drukken, gebruikt u de methode generatePrintedOutput
. In de volgende tabel worden de inhoudstypen aangegeven die voor een bepaalde afdrukstroom zijn ingesteld wanneer u de methode generatePrintedOutput
gebruikt.
generatePrintedOutput2
. De snelle start die echter wordt gekoppeld aan de sectie Afdrukstromen naar printers verzenden, gebruikt de methode generatePrintedOutput
.verzend de drukstroom aan een netwerkprinter
Nadat u een document hebt opgehaald om af te drukken, kunt u de service Uitvoer inschakelen, waardoor er 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 Output Client-object maken
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Verwijzen naar een XML-gegevensbron
- Maak een
java.io.FileInputStream
-object dat de XML-gegevensbron vertegenwoordigt die wordt gebruikt om het document te vullen met behulp van de constructor en die een tekenreekswaarde doorgeeft die de locatie van het XML-bestand aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Uitvoeropties voor afdrukken instellen
Maak een
PrintedOutputOptionsSpec
-object dat afdrukopties tijdens runtime vertegenwoordigt. U kunt bijvoorbeeld het aantal exemplaren opgeven dat moet worden afgedrukt door de methodesetCopies
van het objectPrintedOutputOptionsSpec
aan te roepen.note note NOTE U kunt de pagineringswaarde niet instellen met de methode setPagination
van hetPrintedOutputOptionsSpec
-object als u een ZPL-afdrukstroom genereert. Op dezelfde manier kunt u de volgende opties voor een ZPL-afdrukstroom niet instellen: OutputJog, PageOffset en Stapel. De methodesetPagination
is niet geldig voor het genereren van PostScript. Het is alleen geldig voor PCL-generatie. -
Een af te drukken document ophalen
-
Haal een document op dat u wilt afdrukken door de methode
generatePrintedOutput
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
PrintFormat
die de afdrukstroom opgeeft. Wanneer u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript
door. - 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.
- Het
PrintedOutputOptionsSpec
-object dat uitvoeringsopties bevat die vereist zijn om af te drukken naar een bestand. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron vertegenwoordigt die formuliergegevens bevat die met het formulierontwerp moeten worden samengevoegd.
Deze methode retourneert een
OutputResult
-object dat de resultaten van de bewerking bevat. - Een opsommingswaarde
-
Maak een
com.adobe.idp.Document
-object dat u naar de printer wilt verzenden door de methodeOutputResult
objectgetGeneratedDoc
aan te roepen. Deze methode retourneert eencom.adobe.idp.Document
-object.
-
-
De afdrukstroom naar een netwerkprinter verzenden
Verzend de afdrukstroom naar een netwerkprinter door de methode
sendToPrinter
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een
com.adobe.idp.Document
-object dat de afdrukstream vertegenwoordigt die naar de printer moet worden verzonden. - Een opsommingswaarde
PrinterProtocol
die het te gebruiken printerprotocol aangeeft. Wanneer u bijvoorbeeld het SharedPrinter-protocol wilt opgeven, geeft uPrinterProtocol.SharedPrinter
door. - Een tekenreekswaarde die de naam van de afdrukserver opgeeft. Als de naam van de afdrukserver bijvoorbeeld PrintServer1 is, geeft u door
\\\PrintSever1
. - Een tekenreekswaarde die de naam van de printer opgeeft. Als de naam van de printer bijvoorbeeld Printer1 is, geeft u door
\\\PrintSever1\Printer1
.
note note NOTE De methode sendToPrinter
is toegevoegd aan de AEM Forms API in versie 8.2.1. - Een
Een afdrukstream naar een printer verzenden met de webservice-API send-a-print-stream-to-a-printer-using-the-web-service-api
Een afdrukstroom naar een netwerkprinter verzenden met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijzen naar een XML-gegevensbron.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om formuliergegevens op te slaan. - Maak 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 het object
System.IO.FileStream
wordt opgeslagen. Bepaal de lengte van de bytearray door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door hetMTOM
-veld ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Stel opties voor het uitvoeren van afdrukken in.
Maak 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 hetcopies
-gegevenslid van hetPrintedOutputOptionsSpec
-object vertegenwoordigt.note note NOTE U kunt de pagineringswaarde niet instellen met het gegevenslid pagination
van hetPrintedOutputOptionsSpec
-object als u een ZPL-afdrukstroom genereert. Op dezelfde manier kunt u de volgende opties voor een ZPL-afdrukstroom niet instellen: OutputJog, PageOffset en Stapel. Het gegevenslidpagination
is niet geldig voor het genereren van PostScript. Het is alleen geldig voor PCL-generatie. -
Een af te drukken document ophalen.
-
Haal een document op dat u wilt afdrukken door de methode
generatePrintedOutput
van het objectOutputServiceService
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
PrintFormat
die de afdrukstroom opgeeft. Wanneer u bijvoorbeeld een PostScript-afdrukstroom wilt maken, geeft uPrintFormat.PostScript
door. - 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.
- Het
PrintedOutputOptionsSpec
-object dat afdrukopties tijdens runtime bevat die worden gebruikt wanneer een afdrukstroom naar een netwerkprinter wordt verzonden. - Het
BLOB
-object dat de XML-gegevensbron bevat die formuliergegevens bevat. - Een
BLOB
-object dat door de methodegeneratePrintedOutput
wordt gevuld. De methodegeneratePrintedOutput
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een
BLOB
-object dat door de methodegeneratePrintedOutput
wordt gevuld. De methodegeneratePrintedOutput
vult dit object met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een
OutputResult
-object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.)
- Een opsommingswaarde
-
Maak een
BLOB
-object dat u naar de printer wilt verzenden door de waarde van de methodeOutputResult
objectgeneratedDoc
op te halen. Deze methode retourneert eenBLOB
-object dat PostScript-gegevens bevat die door de methodegeneratePrintedOutput
worden geretourneerd.
-
-
Verzend de afdrukstroom naar een netwerkprinter.
Verzend de afdrukstroom naar een netwerkprinter door de methode
sendToPrinter
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een
BLOB
-object dat de afdrukstream vertegenwoordigt die naar de printer moet worden verzonden. - Een opsommingswaarde
PrinterProtocol
die het te gebruiken printerprotocol aangeeft. Wanneer u bijvoorbeeld het SharedPrinter-protocol wilt opgeven, geeft uPrinterProtocol.SharedPrinter
door. - Een
bool
-waarde die opgeeft of de vorige parameterwaarde moet worden gebruikt. Geef de waardetrue
door. (Deze parameterwaarde is alleen vereist voor aanroepen van webservices.) - Een tekenreekswaarde die de naam van de afdrukserver opgeeft. Wanneer bijvoorbeeld de naam van de afdrukserver PrintServer1 is, geeft u
\\\PrintSever1
door. - Een tekenreekswaarde die de naam van de printer opgeeft. Geef bijvoorbeeld
\\\PrintSever1\Printer1
door als de naam van de printer Printer1 is.
note note NOTE De methode sendToPrinter
is toegevoegd aan de AEM Forms API in versie 8.2.1. - Een
Meerdere uitvoerbestanden maken creating-multiple-output-files
Met de service Uitvoer kunt u aparte documenten maken voor elke record in een XML-gegevensbron of één bestand dat alle records bevat (deze functionaliteit is de standaardinstelling). Bijvoorbeeld, veronderstel dat tien verslagen binnen een gegevensbron van XML worden gevestigd en u de dienst van de Output opdraagt om afzonderlijke documenten van de PDF (of andere soorten output) voor elk verslag tot stand te brengen door de Dienst API van de Output te gebruiken. Als gevolg hiervan genereert de uitvoerservice tien PDF-documenten. (In plaats van documenten te maken, kunt u meerdere afdrukstromen naar een printer verzenden.)
In de volgende afbeelding ziet u ook hoe de uitvoerservice een XML-gegevensbestand verwerkt dat meerdere records bevat. Nochtans, veronderstel dat u de dienst van de Output opdraagt om één enkel document van de PDF tot stand te brengen dat alle gegevensverslagen bevat. In deze situatie genereert de uitvoerservice één document dat alle records bevat.
In de volgende afbeelding ziet u hoe de uitvoerservice een XML-gegevensbestand verwerkt dat meerdere records bevat. Veronderstel dat u de dienst van de Output opdraagt om een afzonderlijk document van PDF voor elk gegevensverslag tot stand te brengen. In dit geval genereert de Output-service een apart PDF-document voor elke gegevensrecord.
De volgende XML-gegevens laten een voorbeeld zien van een gegevensbestand dat drie gegevensrecords bevat.
<?xml version="1.0" encoding="UTF-8"?>
<batch>
<LoanRecord>
<mortgageAmount>500000</mortgageAmount>
<lastName>Blue</lastName>
<firstName>Tony</firstName>
<SSN>555666777</SSN>
<PositionTitle>Product Manager</PositionTitle>
<Address>555 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>TBlue@NoMailServer.com</Email>
<PhoneNum>555-7418</PhoneNum>
<FaxNum>555-9981</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>300000</mortgageAmount>
<lastName>White</lastName>
<firstName>Sam</firstName>
<SSN>555666222</SSN>
<PositionTitle>Program Manager</PositionTitle>
<Address>557 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SWhite@NoMailServer.com</Email>
<PhoneNum>555-7445</PhoneNum>
<FaxNum>555-9986</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
<LoanRecord>
<mortgageAmount>700000</mortgageAmount>
<lastName>Green</lastName>
<firstName>Steve</firstName>
<SSN>55566688</SSN>
<PositionTitle>Project Manager</PositionTitle>
<Address>445 No Where Dr</Address>
<City>New York</City>
<StateProv>New York</StateProv>
<ZipCode>51256</ZipCode>
<Email>SGreeb@NoMailServer.com</Email>
<PhoneNum>555-2211</PhoneNum>
<FaxNum>555-2221</FaxNum>
<Description>Buy a home</Description>
</LoanRecord>
</batch>
Het XML-element dat elk gegevensrecord start en beëindigt, is LoanRecord
. Naar dit XML-element wordt verwezen door de toepassingslogica die meerdere bestanden genereert.
Overzicht van de stappen summary_of_steps-7
Voer de volgende stappen uit om meerdere PDF-bestanden te maken op basis van een XML-gegevensbron:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Stel PDF-uitvoeringsopties in.
- Stel renderingopties in.
- Genereer meerdere PDF-bestanden.
- Haal de resultaten van de bewerking op.
omvat projectdossiers
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.
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Maak een OutputClient
-object als u de Java API gebruikt. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService
-object.
Verwijzing een gegevensbron van XML
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, krijgt het XML-element dat gegevensrecords scheidt de naam 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.
plaats PDF runtime opties
Stel de volgende uitvoeringsopties voor de service Uitvoer in om meerdere bestanden te maken op basis van een XML-gegevensbron:
- Vele Dossiers: Specificeert of de dienst van de Output één enkel document of veelvoudige documenten leidt. U kunt waar of onwaar opgeven. Geef true op als u een afzonderlijk document wilt maken voor elke gegevensrecord in de XML-gegevensbron.
- dossier URI: Specificeert de plaats van de dossiers die de dienst van de Output produceert. 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 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.
- Naam van het Verslag: Specificeert de het elementnaam van XML in de gegevensbron die de gegevensverslagen scheidt. In het voorbeeld-XML-gegevensbron dat eerder in deze sectie wordt weergegeven, wordt het XML-element dat gegevensrecords scheidt, bijvoorbeeld
LoanRecord
genoemd. (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.)
plaats teruggevend runtime opties
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 in cache plaatsen dat de uitvoerservice gebruikt 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.
Met de methode PDFOutputOptionsSpec
of PrintedOutputOptionSpec
object setLazyLoading
kunt u bepalen of de service Uitvoer incrementeel laden uitvoert. U kunt de waarde false
doorgeven aan deze methode waarmee incrementele belasting wordt uitgeschakeld.
produceer veelvoudige dossiers van PDF
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 u meerdere records genereert, retourneert de methode getGeneratedDoc
van het OutputResult
-object null
.
wint de resultaten van de verrichting terug
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
Meerdere PDF-bestanden maken met de Java API create-multiple-pdf-files-using-the-java-api
Meerdere PDF-bestanden maken met de Output API (Java):
-
Inclusief projectbestanden"
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Een Output Client-object maken
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Verwijzen naar een XML-gegevensbron
- Maak 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. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Opties voor PDF bij uitvoering instellen
- Maak een
PDFOutputOptionsSpec
-object met behulp van de constructor. - Stel de optie Veel bestanden in door de methode
setGenerateManyFiles
van het objectPDFOutputOptionsSpec
aan te roepen. Geef bijvoorbeeld de waardetrue
door om de uitvoerservice op te dragen een afzonderlijk PDF-bestand te maken voor elke record in de XML-gegevensbron. (Als ufalse
doorgeeft, genereert de service Output één PDF-document dat alle records bevat.) - Stel de optie File URI in door de methode
setFileUri
van het objectPDFOutputOptionsSpec
aan te roepen en een tekenreekswaarde door te geven die de locatie aangeeft van de bestanden die 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. - Stel de optie Naam record in door de methode
setRecordName
van het objectOutputOptionsSpec
aan te roepen en een tekenreekswaarde door te geven die de naam van het XML-element opgeeft in de gegevensbron die de gegevensrecords scheidt. (Neem bijvoorbeeld de XML-gegevensbron die eerder in deze sectie wordt weergegeven. De naam van het XML-element dat gegevensrecords scheidt, is LoanRecord.)
- Maak een
-
Renderopties tijdens runtime instellen
- Maak een
RenderOptionsSpec
-object met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het
RenderOptionsSpec
-objectsetCacheEnabled
aan te roepen en deBoolean
waardetrue
door te geven.
- Maak een
-
Meerdere PDF-bestanden genereren
Genereer meerdere PDF-bestanden door de methode
generatePDFOutput
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een
TransformationFormat
enum-waarde. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
com.adobe.idp.Document
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd.
De methode
generatePDFOutput
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat. - Een
-
De resultaten van de bewerking ophalen
- Maak een
java.io.File
-object dat een XML-bestand vertegenwoordigt dat de resultaten van de methodegeneratePDFOutput
zal bevatten. Controleer of de bestandsnaamextensie .xml is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodeapplyUsageRights
is geretourneerd).
- Maak een
zie ook
Snel starten (EJB-modus): meerdere PDF-bestanden maken met de Java API
Meerdere PDF-bestanden maken met de webservice-API create-multiple-pdf-files-using-the-web-service-api
Meerdere PDF-bestanden maken met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijzen naar een XML-gegevensbron.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt om formuliergegevens op te slaan die meerdere records bevatten. - Maak 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 het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door hetMTOM
-veld ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Stel PDF-uitvoeringsopties in.
- Maak een
PDFOutputOptionsSpec
-object met behulp van de constructor. - Stel de optie Veel bestanden in door een Booleaanse waarde toe te wijzen aan het gegevenslid
generateManyFiles
van hetOutputOptionsSpec
-object. Wijs bijvoorbeeld de waardetrue
aan dit gegevenslid toe om de Output-service op te dragen een afzonderlijk PDF-bestand te maken voor elke record in de XML-gegevensbron. (Als ufalse
aan dit gegevenslid toewijst, 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 het
fileURI
-gegevenslid van hetOutputOptionsSpec
-object. 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 recordnaamoptie in door een tekenreekswaarde toe te wijzen die de naam van het XML-element in de gegevensbron opgeeft die de gegevensrecords scheidt van het
recordName
-gegevenslid van hetOutputOptionsSpec
-object. - Stel de optie Kopiëren in door een geheel-getalwaarde toe te wijzen die het aantal exemplaren opgeeft dat de uitvoerservice genereert naar het gegevenslid
copies
van hetOutputOptionsSpec
-object.
- Maak een
-
Stel renderingopties in.
- Maak 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
true
toe te wijzen aan het gegevenslid van hetRenderOptionsSpec
objectcacheEnabled
.
- Maak een
-
Genereer meerdere PDF-bestanden.
Creeer veelvoudige dossiers van de PDF door de
generatePDFOutput
methode van hetOutputServiceService
voorwerp {aan te halen en de volgende waarden over te gaan:- Een opsommingswaarde van TransformationFormat. Als u een PDF-document wilt genereren, geeft u
TransformationFormat.PDF
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
BLOB
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met gegenereerde metagegevens die het document beschrijven. - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met resultaatgegevens. - Een
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
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt in een XML-bestand die resultaatgegevens bevat. Controleer of de bestandsnaamextensie .xml is. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat met resultaatgegevens is gevuld via de methodeOutputServiceService
objectgeneratePDFOutput
(de achtste parameter). Vul de bytearray met de waarde van het gegevenslidbinaryData
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar het XML-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
Zoekregels maken creating-search-rules
U kunt zoekregels maken die ertoe leiden dat de uitvoerservice invoergegevens controleert en verschillende formulierontwerpen gebruikt op basis van de gegevensinhoud om uitvoer te genereren. Bijvoorbeeld, als de tekst hypotheek binnen de inputgegevens wordt gevestigd, dan kan de dienst van de Output een vormontwerp genoemd Mortgauge.xdp gebruiken. Eveneens, als de tekst auto in de inputgegevens is, dan kan de dienst van de Output een vormontwerp gebruiken dat als AutomobileLoan.xdp wordt bewaard. Hoewel de Output-service verschillende uitvoertypen kan genereren, wordt er in deze sectie van uitgegaan dat de Output-service een PDF-bestand genereert. In het volgende diagram ziet u de service Output die een PDF-bestand genereert door een XML-gegevensbestand te verwerken en een van de vele formulierontwerpen te gebruiken.
Daarnaast kan de Output-service documentpakketten genereren, waarbij de gegevensset meerdere records bevat en elke record overeenkomt met een formulierontwerp en er één document wordt gegenereerd dat uit meerdere formulierontwerpen bestaat.
Overzicht van de stappen summary_of_steps-8
Voer de volgende stappen uit om de uitvoerservice op te dragen de zoekregels te gebruiken tijdens het genereren van een document:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Verwijzen naar een XML-gegevensbron.
- Definieer zoekregels.
- Stel PDF-uitvoeringsopties in.
- Stel renderingopties in.
- Een PDF-document genereren.
- Haal de resultaten van de bewerking op.
omvat projectdossiers
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.
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken.
Verwijzing een gegevensbron van XML
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.
bepaalt onderzoeksregels
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 corresponderend 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.
plaats PDF runtime opties
Stel de volgende PDF runtime-opties in zodat de Output-service een PDF-document kan maken dat is gebaseerd op meerdere formulierontwerpen:
- Dossier URI: Specificeert de naam en de plaats van het dossier van PDF dat de dienst van de Output produceert.
- Regels: Specificeert regels die u bepaalde.
- LookAHead: Specificeert het aantal bytes van het begin van het dossier van inputgegevens aan aftasten voor de bepaalde tekstpatronen te gebruiken. De standaardwaarde is 500 bytes.
plaats teruggevend runtime opties
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 in cache plaatsen dat de uitvoerservice gebruikt om de prestaties te verbeteren.
produceer een document van de PDF
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.
wint de resultaten van de verrichting terug
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
Zoekregels maken met de Java API create-search-rules-using-the-java-api
Maak zoekregels met de Output API (Java):
-
Inclusief projectbestanden.
Neem client-JAR-bestanden, zoals adobe-output-client.jar, op in het klassenpad van uw Java-project.
-
Maak een Output Client-object.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Verwijzen naar een XML-gegevensbron.
- Maak een
java.io.FileInputStream
-object dat staat voor de XML-gegevensbron die wordt gebruikt om het PDF-document te vullen met de constructor ervan en geef een tekenreekswaarde door die de locatie van het XML-bestand opgeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Definieer zoekregels.
- Maak een
Rule
-object met behulp van de constructor. - Definieer een tekstpatroon door de methode
setPattern
van het objectRule
aan te roepen en een tekenreekswaarde door te geven die een tekstpatroon opgeeft. - Definieer het bijbehorende formulierontwerp door de methode
setForm
van het objectRule
aan te roepen. Geef een tekenreekswaarde door die de naam van het formulierontwerp aangeeft.
note note NOTE Herhaal de vorige drie substappen voor elk tekstpatroon dat u wilt definiëren. - Maak een
java.util.List
-object met behulp van eenjava.util.ArrayList
-constructor. - Roep voor elk
Rule
-object dat u hebt gemaakt de methodejava.util.List
objectadd
aan en geef hetRule
-object door.
- Maak een
-
Stel PDF-uitvoeringsopties in.
- Maak een
PDFOutputOptionsSpec
-object met behulp van de constructor. - Geef de naam en locatie op van het PDF-bestand dat de uitvoerservice genereert door de methode
setFileURI
van het objectPDFOutputOptionsSpec
aan te roepen. 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 methode
setRules
van het objectPDFOutputOptionsSpec
aan te roepen. Geef hetjava.util.List
-object door dat deRule
-objecten bevat. - Stel het aantal bytes in dat u naar de gedefinieerde tekstpatronen wilt scannen door de methode
setLookAhead
van het objectPDFOutputOptionsSpec
aan te roepen. Geef een geheel getal door dat het aantal bytes vertegenwoordigt.
- Maak een
-
Stel renderingopties in.
- Maak een
RenderOptionsSpec
-object met behulp van de constructor. - Plaats het formulierontwerp in de cache om de prestaties van de uitvoerservice te verbeteren door het
RenderOptionsSpec
-objectsetCacheEnabled
aan te roepen en door te geventrue
.
- Maak een
-
Een PDF-document genereren.
Genereer een PDF-document dat is gebaseerd op meerdere formulierontwerpen door de methode
generatePDFOutput
van het objectOutputClient
aan te roepen en de volgende waarden door te geven:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - 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.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
com.adobe.idp.Document
-object dat de formuliergegevens bevat die door de Output-service worden doorzocht op de gedefinieerde tekstpatronen.
De methode
generatePDFOutput
retourneert eenOutputResult
-object dat de resultaten van de bewerking bevat. - Een opsommingswaarde
-
Haal de resultaten van de bewerking op.
- Maak een
com.adobe.idp.Document
-object dat de status van de methodegeneratePDFOutput
vertegenwoordigt door de methodeOutputResult
van het objectgetStatusDoc
aan te roepen. - Maak een
java.io.File
-object dat de resultaten van de bewerking zal bevatten. Controleer of de bestandsextensie .xml is. - Roep de methode
copyToFile
van het objectcom.adobe.idp.Document
aan om de inhoud van het objectcom.adobe.idp.Document
naar het bestand te kopiëren (gebruik het objectcom.adobe.idp.Document
dat door de methodegetStatusDoc
is geretourneerd).
- Maak een
zie ook
Snel starten (EJB-modus): zoekregels maken met de Java API
Snel starten (SOAP modus): zoekregels maken met de Java API
Zoekregels maken met de webservice-API create-search-rules-using-the-web-service-api
Maak zoekregels met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Verwijzen naar een XML-gegevensbron.
- Maak een
BLOB
-object met behulp van de constructor. HetBLOB
-object wordt gebruikt voor het opslaan van gegevens die worden samengevoegd met het PDF-document. - Maak 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 het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het
BLOB
-object door hetMTOM
-veld ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Definieer zoekregels.
- Maak een
Rule
-object met behulp van de constructor. - Definieer een tekstpatroon door een tekenreekswaarde toe te wijzen die een tekstpatroon opgeeft voor het gegevenslid
pattern
van hetRule
-object. - Definieer het bijbehorende formulierontwerp door een tekenreekswaarde toe te wijzen die het formulierontwerp opgeeft aan het gegevenslid van het
Rule
-objectform
.
note note NOTE Herhaal de vorige drie substappen voor elk tekstpatroon dat u wilt definiëren. - Maak een
MyArrayOf_xsd_anyType
-object waarin de regels zijn opgeslagen. - Wijs elk
Rule
-object toe aan een element van deMyArrayOf_xsd_anyType
-array. Roep de methodeAdd
van het objectMyArrayOf_xsd_anyType
aan voor elkRule
-object.
- Maak een
-
Opties voor PDF bij uitvoering instellen
- Maak 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 het
fileURI
-gegevenslid van hetPDFOutputOptionsSpec
-object. 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 naar het gegevenslid
copies
van hetPDFOutputOptionsSpec
-object. - Stel de regels in die u hebt gedefinieerd door het
MyArrayOf_xsd_anyType
-object toe te wijzen dat de regels opslaat in het gegevenslid van hetPDFOutputOptionsSpec
objectrules
. - Stel het aantal bytes in dat moet worden gescand op de gedefinieerde tekstpatronen door een geheel-getalwaarde toe te wijzen die het aantal bytes vertegenwoordigt dat moet worden gescand op de gegevensmethode
lookAhead
van hetPDFOutputOptionsSpec
-object.
- Maak een
-
Renderopties tijdens runtime instellen
- Maak 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
true
toe te wijzen aan het gegevenslid van hetRenderOptionsSpec
objectcacheEnabled
.
note note NOTE U kunt de versie van het PDF-document niet instellen met het lid pdfVersion
van hetRenderOptionsSpec
-object als het invoerdocument een Acrobat-formulier is. In het PDF-uitvoerdocument blijft de PDF-versie van het Acrobat-formulier behouden. U kunt de optie PDF van het label ook niet instellen met de methodetaggedPDF
van het objectRenderOptionsSpec
als het invoerdocument een Acrobat-formulier is.note note NOTE U kunt de optie Gelineariseerde PDF niet instellen met het lid linearizedPDF
van hetRenderOptionsSpec
-object als het invoer-PDF-document is gecertificeerd of digitaal is ondertekend. Voor informatie, zie digitaal het Ondertekenen van de Documenten van PDF. - Maak een
-
Een PDF-document genereren
Creeer een document van de PDF door de
generatePDFOutput
methode van hetOutputServiceService
voorwerp {aan te halen en de volgende waarden over te gaan:- Een opsommingswaarde
TransformationFormat
. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- Een
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - Een
RenderOptionsSpec
-object dat renderingopties bevat. - Het
BLOB
-object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met gegenereerde metagegevens die het document beschrijven. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een
BLOB
-object dat door de methodegeneratePDFOutput
wordt gevuld. De methodegeneratePDFOutput
vult dit object met resultaatgegevens. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.) - Een
OutputResult
-object dat de resultaten van de bewerking bevat. (Deze parameterwaarde is alleen vereist voor aanroepen van een webservice.)
note note NOTE Wanneer u een PDF-document genereert door de methode generatePDFOutput
aan te roepen, kunt u geen gegevens samenvoegen met een XFA-PDF-formulier dat is ondertekend, gecertificeerd of gebruiksrechten bevat. Voor informatie over gebruiksrechten, zie Toepassend de Rechten van het Gebruik op de Documenten van de PDF. - Een opsommingswaarde
-
De resultaten van de bewerking ophalen
- Maak een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die een locatie vertegenwoordigt in een XML-bestand die resultaatgegevens bevat. Zorg ervoor dat de bestandsextensie XML is. - Maak een bytearray waarin de gegevensinhoud wordt opgeslagen van het object
BLOB
dat met resultaatgegevens is gevuld via de methodeOutputServiceService
objectgeneratePDFOutput
(de achtste parameter). Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar het XML-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
PDF-documenten afvlakken flattening-pdf-documents
Met de service Uitvoer kunt u een interactief PDF-document transformeren naar een niet-interactieve PDF. Met een interactief PDF-document kunnen gebruikers gegevens invoeren of wijzigen die zich in de documentvelden PDF bevinden. Het proces om een interactief document van PDF om te zetten in een niet-interactief document van PDF wordt genoemd afvlakken. Wanneer een PDF-document wordt afgevlakt, kan een gebruiker de gegevens in de documentvelden niet wijzigen. Een reden om een PDF-document af te vlakken is ervoor te zorgen dat gegevens niet kunnen worden gewijzigd.
U kunt de volgende typen PDF-documenten samenvoegen:
- Interactieve XFA PDF-documenten
- Acrobat Forms
Als u probeert een PDF af te vlakken die een niet-interactief PDF-document is, wordt er een uitzondering gemaakt.
Overzicht van de stappen summary_of_steps-9
Voer de volgende stappen uit om een interactief PDF-document af te vlakken naar een niet-interactief PDF-document:
- Inclusief projectbestanden.
- Maak een Output Client-object.
- Een interactief PDF-document ophalen.
- Transformeer het PDF-document.
- Sla het niet-interactieve PDF-document op als een PDF-bestand.
omvat projectdossiers
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 plaats van alle dossiers van AEM Forms JAR, zie Inclusief de bibliotheekdossiers van AEM Forms Java.
creeer een voorwerp van de Cliënt van de Output
Voordat u programmatisch een uitvoerservicebewerking kunt uitvoeren, moet u een uitvoerservice-clientobject maken. Maak een OutputClient
-object als u de Java API gebruikt. Als u de Output-webservice-API gebruikt, maakt u een OutputServiceService
-object.
wint een interactief document van PDF terug
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.
zet het document van de PDF om
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.
sparen het niet-interactieve document van PDF als dossier van PDF
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
Een PDF-document samenvoegen met de Java API flatten-a-pdf-document-using-the-java-api
Een interactief PDF-document afvlakken naar een niet-interactief PDF-document met behulp van 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.
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. - Maak een
OutputClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Een interactief PDF-document ophalen.
- Maak een
java.io.FileInputStream
-object dat het interactieve PDF-document vertegenwoordigt dat moet worden getransformeerd met de constructor ervan en geef een tekenreekswaarde door die de locatie van het interactieve PDF-bestand aangeeft. - Maak een
com.adobe.idp.Document
-object door de constructor ervan te gebruiken en hetjava.io.FileInputStream
-object door te geven.
- Maak een
-
Transformeer het PDF-document.
Transformeer het interactieve PDF-document naar een niet-interactief PDF-document door de methode
transformPDF
van hetOutputServiceService
-object aan te roepen en de volgende waarden door te geven:- Het
com.adobe.idp.Document
-object dat het interactieve PDF-document bevat. - Een
TransformationFormat
enum-waarde. Als u een niet-interactief PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een
PDFARevisionNumber
opsommingswaarde die het revisienummer opgeeft. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt unull
opgeven. - 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
opgeven. - Een
PDFAConformance
enum-waarde die het PDF/A-compatibiliteitsniveau vertegenwoordigt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt unull
opgeven.
De methode
transformPDF
retourneert eencom.adobe.idp.Document
-object dat een niet-interactief PDF-document bevat. - Het
-
Sla het niet-interactieve PDF-document op als een PDF-bestand.
- Maak een
java.io.File
-object en controleer of de bestandsnaamextensie .pdf is. - Roep de methode
copyToFile
van het objectDocument
aan om de inhoud van het objectDocument
naar het bestand te kopiëren (gebruik het objectDocument
dat door de methodetransformPDF
is geretourneerd).
- Maak 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
Een PDF-document samenvoegen met de webservice-API flatten-a-pdf-document-using-the-web-service-api
Een interactief PDF-document afvlakken naar een niet-interactief PDF-document met de Output API (webservice):
-
Inclusief projectbestanden.
Creeer een Microsoft .NET project dat MTOM gebruikt. Gebruik de volgende WSDL-definitie:
http://localhost:8080/soap/services/OutputService?WSDL&lc_version=9.0.1
.note note NOTE Vervang localhost
door het IP-adres van de server die als host fungeert voor AEM Forms. -
Maak een Output Client-object.
-
Maak een
OutputServiceClient
-object met de standaardconstructor. -
Maak een
OutputServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt. Geef echter?blob=mtom
op om MTOM te gebruiken. -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetOutputServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
OutputServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
OutputServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
-
Een interactief PDF-document ophalen.
- Maak een
BLOB
-object met behulp van de constructor. Met hetBLOB
-object wordt het interactieve PDF-document opgeslagen. - Maak een
System.IO.FileStream
-object 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 het object
System.IO.FileStream
wordt opgeslagen. U kunt de grootte van de bytearray bepalen door de eigenschapLength
van het objectSystem.IO.FileStream
op te halen. - Vul de bytearray met streamgegevens door de methode
Read
van het objectSystem.IO.FileStream
aan te roepen en de bytearray, de startpositie en de lengte van de stream door te geven om te lezen. - Vul het object
BLOB
door de eigenschapMTOM
ervan toe te wijzen met de inhoud van de bytearray.
- Maak een
-
Transformeer het PDF-document.
Transformeer het interactieve PDF-document naar een niet-interactief PDF-document door de methode
transformPDF
van hetOutputClient
-object aan te roepen en de volgende waarden door te geven:- Een
BLOB
-object dat het interactieve PDF-document bevat. - Een opsommingswaarde
TransformationFormat
. Als u een niet-interactief PDF-document wilt genereren, geeft uTransformationFormat.PDF
op. - Een
PDFARevisionNumber
opsommingswaarde die het revisienummer opgeeft. - Een Booleaanse waarde die opgeeft of de opsommingswaarde
PDFARevisionNumber
wordt gebruikt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt ufalse
opgeven. - 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
opgeven. - Een
PDFAConformance
enum-waarde die het PDF/A-compatibiliteitsniveau vertegenwoordigt. - Een Booleaanse waarde die opgeeft of de opsommingswaarde
PDFAConformance
wordt gebruikt. Omdat deze parameter voor een PDF/A-document is bedoeld, kunt ufalse
opgeven.
De methode
transformPDF
retourneert eenBLOB
-object dat een niet-interactief PDF-document bevat. - Een
-
Sla het niet-interactieve PDF-document op als een PDF-bestand.
- Maak een
System.IO.FileStream
-object 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 wordt opgeslagen van het object
BLOB
dat door de methodetransformPDF
is geretourneerd. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook
AEM Forms aanroepen met SwaRef