Forms renderen op de client rendering-forms-at-the-client

CAUTION
AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

Forms renderen op de client rendering-forms-at-the-client-inner

U kunt de levering van PDF-inhoud optimaliseren en de mogelijkheid van de Forms-service om netwerkbelasting te verwerken verbeteren door de renderingmogelijkheden aan de clientzijde van Acrobat of Adobe Reader te gebruiken. Dit proces wordt een formulier op de client weergegeven. Als u een formulier op de client wilt genereren, moet het clientapparaat (meestal een webbrowser) Acrobat 7.0 of Adobe Reader 7.0 of hoger gebruiken.

Wijzigingen in een formulier die het resultaat zijn van scriptuitvoering op de server, worden niet weerspiegeld in een formulier dat op de client wordt gegenereerd, tenzij het basissubformulier het restoreState kenmerk dat is ingesteld op auto. Zie voor meer informatie over dit kenmerk Forms Designer.

NOTE
Ga voor meer informatie over de Forms-service naar Services Reference for AEM Forms.

Overzicht van de stappen summary-of-steps

Voer de volgende taken uit om een formulier op de client te genereren:

  1. Inclusief projectbestanden.
  2. Maak een Forms Client API-object.
  3. Opties voor renderen tijdens runtime van client instellen.
  4. Een formulier weergeven op de client.
  5. Schrijf het formulier naar de webbrowser van de client.

Projectbestanden opnemen

Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.

Een Forms Client API-object maken

Voordat u programmatisch een client-API-bewerking voor Forms-services kunt uitvoeren, moet u een Forms-serviceclient maken. Als u de Java API gebruikt, maakt u een FormsServiceClient object. Als u de Forms-webservice-API gebruikt, maakt u een FormsService object.

Opties voor renderen tijdens runtime van client instellen

U moet de optie voor het renderen van de client zo instellen dat een formulier op de client wordt gegenereerd door de instelling van de optie RenderAtClient runtime-optie voor true. Dit leidt ertoe dat het formulier wordt afgeleverd aan het clientapparaat waar het wordt gegenereerd. Indien RenderAtClient is auto (de standaardwaarde) bepaalt het formulierontwerp of het formulier op de client wordt gegenereerd. Het formulierontwerp moet een formulierontwerp met een stroombare indeling zijn.

Een optionele uitvoeringsoptie die u kunt instellen, is de SeedPDF optie. De SeedPDF Deze optie combineert de container PDF (zaaddocument) met het formulierontwerp en de XML-gegevens. Zowel het formulierontwerp als de XML-gegevens worden geleverd aan Acrobat of Adobe Reader, waar het formulier wordt gegenereerd. De SeedPDF Deze optie kan worden gebruikt wanneer de clientcomputer geen fonts heeft die in het formulier worden gebruikt, bijvoorbeeld wanneer een eindgebruiker geen licentie heeft voor het gebruik van een font dat de eigenaar van het formulier mag gebruiken.

U kunt Designer gebruiken om een eenvoudig dynamisch PDF-bestand te maken dat u kunt gebruiken als een PDF-bestand. De volgende stappen zijn vereist om deze taak uit te voeren:

  1. Bepaal of u lettertypen in het PDF-bestand voor zaaizaad wilt insluiten. Het zaadbestand moet aanvullende fonts bevatten die zijn vereist voor het PDF-formulier dat wordt gegenereerd. Wanneer u lettertypen insluit in het zaadbestand PDF, moet u ervoor zorgen dat u geen licentieovereenkomsten voor lettertypen schendt. In Designer kunt u bepalen of u fonts wettelijk kunt insluiten. Als er fonts zijn die u niet in het formulier kunt insluiten wanneer u het opslaat, wordt in Designer een bericht weergegeven met de fonts die u niet kunt insluiten. Dit bericht wordt niet weergegeven in Designer voor statische PDF-documenten.
  2. Als u het zaadbestand in Designer maakt, wordt u geadviseerd ten minste een tekstveld toe te voegen dat een bericht bevat. Het bericht moet worden gericht aan gebruikers van eerdere versies van Adobe Reader en aangeven dat ze Acrobat 7.0 of hoger of Adobe Reader 7.0 of hoger nodig hebben om het document te kunnen bekijken.
  3. Sla het zaadbestand op als een dynamisch PDF-PDF-bestand met de extensie van het PDF-bestand.
NOTE
U hoeft de PDF runtime-optie voor het genereren van een formulier op de client niet te definiëren. Als u geen PDF opgeeft, maakt de Forms-service een shell-pdf die geen COS-objecten bevat maar wel een PDF-omloop met daarin de daadwerkelijke XDP-inhoud ingesloten. In de stappen in deze sectie wordt de PDF-runtime-optie voor zaaizaad niet ingesteld. Zie de handleiding Adobe PDF Reference voor informatie over COS-objecten.

Een formulier weergeven op de client

Als u een formulier op de client wilt genereren, moet u ervoor zorgen dat de renderopties voor de client in de toepassingslogica zijn opgenomen om een formulier te genereren.

De formuliergegevensstroom naar de webbrowser van de client schrijven

De Forms-service maakt een formuliergegevensstroom die u naar de webbrowser van de client moet schrijven. Als het formulier wordt geschreven naar de webbrowser van de client, wordt het gegenereerd door Acrobat 7.0 of Adobe Reader 7.0 of hoger en is het zichtbaar voor de gebruiker.

Zie ook

Een formulier op de client renderen met de Java API

Een formulier op de client renderen met de API voor webservices

Inclusief AEM Forms Java-bibliotheekbestanden

Verbindingseigenschappen instellen

Forms Service API Quick Start

Documenten doorgeven aan de Forms-service

Webtoepassingen maken die Forms renderen

Een formulier op de client renderen met de Java API render-a-form-at-the-client-using-the-java-api

Een formulier op de client renderen met de Forms API (Java):

  1. Projectbestanden opnemen

    Neem client-JAR-bestanden, zoals adobe-forms-client.jar, op in het klassenpad van uw Java-project.

  2. Een Forms Client API-object maken

    • Een ServiceClientFactory object dat verbindingseigenschappen bevat.
    • Een FormsServiceClient object door de constructor ervan te gebruiken en door te geven ServiceClientFactory object.
  3. Opties voor renderen tijdens runtime van client instellen

    • Een PDFFormRenderSpec object met behulp van de constructor.
    • Stel de RenderAtClient runtime-optie door het aanroepen van de PDFFormRenderSpec object setRenderAtClient methode en het doorgeven van de opsommingswaarde RenderAtClient.Yes.
  4. Een formulier weergeven op de client

    De FormsServiceClient object renderPDFForm en geeft de volgende waarden door:

    • Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u naar een formulierontwerp verwijst dat deel uitmaakt van een AEM Forms-toepassing, moet u het volledige pad opgeven, zoals Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • A com.adobe.idp.Document object dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde door com.adobe.idp.Document object.
    • A PDFFormRenderSpec -object dat uitvoeringsopties opslaat die vereist zijn om een formulier op de client te genereren.
    • A URLSpec object dat URI-waarden bevat die door de Forms-service worden vereist om een formulier te genereren.
    • A java.util.HashMap object waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kunt null als u geen bestanden aan het formulier wilt koppelen.

    De renderPDFForm methode retourneert een FormsResult object dat een formuliergegevensstroom bevat die naar de webbrowser van de client moet worden geschreven.

  5. De formuliergegevensstroom naar de webbrowser van de client schrijven

    • Een com.adobe.idp.Document door het object aan te roepen FormsResult object 's getOutputContent methode.
    • Hiermee wordt het inhoudstype van het dialoogvenster com.adobe.idp.Document object aanroepen getContentType methode.
    • Stel de javax.servlet.http.HttpServletResponse inhoudstype van object aanroepen setContentType en geeft u het inhoudstype van het dialoogvenster door com.adobe.idp.Document object.
    • Een javax.servlet.ServletOutputStream object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door het aanroepen van de javax.servlet.http.HttpServletResponse object getOutputStream methode.
    • Een java.io.InputStream door het object aan te roepen com.adobe.idp.Document object getInputStream methode.
    • Maak een bytearray en vul deze met de formuliergegevensstroom door de InputStream object read en de bytearray doorgeven als een argument.
    • De javax.servlet.ServletOutputStream object write methode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan de write methode.

Zie ook

Snel starten (SOAP-modus): Een formulier weergeven op de client met de Java API

Inclusief AEM Forms Java-bibliotheekbestanden

Verbindingseigenschappen instellen

Een formulier op de client renderen met de API voor webservices render-a-form-at-the-client-using-the-web-service-api

Een formulier op de client renderen met de Forms API (webservice):

  1. Projectbestanden opnemen

    • Maak Java-proxyklassen die gebruikmaken van de Forms-service WSDL.
    • Neem de Java-proxyklassen op in het klassepad.
  2. Een Forms Client API-object maken

    Een FormsService -object en stel verificatiewaarden in.

  3. Opties voor renderen tijdens runtime van client instellen

    • Een PDFFormRenderSpec object met behulp van de constructor.
    • Stel de RenderAtClient runtime-optie door het aanroepen van de PDFFormRenderSpec object setRenderAtClient methode en het doorgeven van de tekenreekswaarde RenderAtClient.Yes.
  4. Een formulier weergeven op de client

    De FormsService object renderPDFForm en geeft de volgende waarden door:

    • Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u naar een formulierontwerp verwijst dat deel uitmaakt van een Forms-toepassing, moet u het volledige pad opgeven, zoals Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • A BLOB object dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u door null. (Zie Forms vooraf vullen met stroombare indelingen.)
    • A PDFFormRenderSpec -object dat uitvoeringsopties opslaat die vereist zijn om een formulier op de client te genereren.
    • A URLSpec object dat URI-waarden bevat die door de Forms-service worden vereist.
    • A java.util.HashMap object waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kunt null als u geen bestanden aan het formulier wilt koppelen.
    • Een leeg com.adobe.idp.services.holders.BLOBHolder object dat door de methode wordt gevuld. Deze parameter wordt gebruikt om het weergegeven PDF formulier op te slaan.
    • Een leeg javax.xml.rpc.holders.LongHolder object dat door de methode wordt gevuld. (In dit argument wordt het aantal pagina's in het formulier opgeslagen).
    • Een leeg javax.xml.rpc.holders.StringHolder object dat door de methode wordt gevuld. (In dit argument wordt de waarde van de landinstelling opgeslagen.)
    • Een leeg com.adobe.idp.services.holders.FormsResultHolder -object dat de resultaten van deze bewerking bevat.

    De renderPDFForm wordt de com.adobe.idp.services.holders.FormsResultHolder object dat wordt doorgegeven als de laatste argumentwaarde met een formuliergegevensstroom die naar de webbrowser van de client moet worden geschreven.

  5. De formuliergegevensstroom naar de webbrowser van de client schrijven

    • Een FormResult object door de waarde van het object op te halen com.adobe.idp.services.holders.FormsResultHolder object value lid.
    • Een BLOB object dat formuliergegevens bevat door het FormsResult object getOutputContent methode.
    • Hiermee wordt het inhoudstype van het dialoogvenster BLOB object aanroepen getContentType methode.
    • Stel de javax.servlet.http.HttpServletResponse inhoudstype van object aanroepen setContentType en geeft u het inhoudstype van het dialoogvenster door BLOB object.
    • Een javax.servlet.ServletOutputStream object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door het aanroepen van de javax.servlet.http.HttpServletResponse object getOutputStream methode.
    • Maak een bytearray en vul deze door het BLOB object getBinaryData methode. Deze taak wijst de inhoud van toe FormsResult object naar de bytearray.
    • De javax.servlet.http.HttpServletResponse object write methode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan de write methode.

Zie ook

Forms renderen op de client

AEM Forms aanroepen met Base64-codering

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da