De prestaties van de Forms-service optimaliseren optimizing-the-performance-of-theforms-service
De prestaties van de Forms-service optimaliseren optimizing-the-performance-of-the-forms-service
Bij het weergeven van een formulier kunt u uitvoeringsopties instellen die de prestaties van de Forms-service optimaliseren. Een andere taak die u kunt uitvoeren om de prestaties van de Forms-service te verbeteren, is het opslaan van XDP-bestanden in de opslagplaats. In deze sectie wordt echter niet beschreven hoe deze taak moet worden uitgevoerd. (Zie Een service aanroepen met een Java-clientbibliotheek.)
Overzicht van de stappen summary-of-steps
Voer de volgende taken uit om de prestaties van de Forms-service te optimaliseren tijdens het genereren van een formulier:
- Inclusief projectbestanden.
- Maak een Forms Client API-object.
- Stel opties voor de uitvoeringstijd in.
- Het formulier weergeven.
- Schrijf de gegevensstroom van 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 het uitvoeren van de prestaties instellen
U kunt de volgende uitvoeringsopties voor de prestaties instellen om de prestaties van de Forms-service te verbeteren:
- Formulier in cache plaatsen: U kunt een formulier dat als PDF wordt weergegeven, in het cachegeheugen van de server in cache plaatsen. Elk formulier wordt in de cache geplaatst nadat het voor het eerst wordt gegenereerd. Als het formulier in de cache vervolgens wordt gerenderd en het nieuwer is dan de tijdstempel van het formulierontwerp, wordt het formulier opgehaald uit de cache. Door formulieren in cache te plaatsen, verbetert u de prestaties van de Forms-service, omdat het formulierontwerp niet hoeft op te halen uit een opslagplaats.
- Het kan langer duren om formulierhulplijnen (afgekeurd) te renderen dan andere transformatietypen. U wordt aangeraden hulplijnen (afgekeurd) in cache te plaatsen om de prestaties te verbeteren.
- Standalone, optie: Als u niet wilt dat de Forms-service serverberekeningen uitvoert, kunt u de optie Standalone instellen op
true, wat ertoe leidt dat formulieren worden gegenereerd zonder statusinformatie. Statusinformatie is nodig als u een interactief formulier wilt genereren voor een eindgebruiker die vervolgens gegevens in het formulier invoert en het formulier terugstuurt naar de Forms-service. De Forms-service voert vervolgens een berekeningsbewerking uit en geeft het formulier weer aan de gebruiker met de resultaten die in het formulier worden weergegeven. Als een formulier zonder statusinformatie wordt teruggestuurd naar de Forms-service, zijn alleen de XML-gegevens beschikbaar en worden geen berekeningen op de server uitgevoerd. - Lineaire PDF: Een gelineariseerd PDF-bestand is geordend om efficiƫnte incrementele toegang in een netwerkomgeving mogelijk te maken. Het PDF-bestand is in alle opzichten geldig PDF en is compatibel met alle bestaande viewers en andere PDF-toepassingen. Een gelineariseerde PDF kan dus worden weergegeven terwijl het bestand nog wordt gedownload.
- Deze optie verbetert de prestaties niet wanneer een PDF-formulier op de client wordt gegenereerd.
- GuideRSL, optie: Hiermee schakelt u het genereren van een formulierhulplijn (afgekeurd) in met gezamenlijke bibliotheken bij uitvoering. Dit betekent het eerste verzoek een kleiner SWF-bestand zal downloaden, plus grotere gedeelde bibliotheken die in het browsercache zijn opgeslagen. Zie RSL in de documentatie van Flex voor meer informatie.
- U kunt ook de prestaties van de Forms-service verbeteren door een formulier op de client te genereren. (Zie Forms renderen op de client.)
Het formulier renderen
Als u het formulier wilt genereren nadat u prestatieopties hebt ingesteld, gebruikt u dezelfde toepassingslogica als voor het weergeven van een formulier zonder prestatieopties.
De formuliergegevensstroom naar de webbrowser van de client schrijven
Nadat de Forms-service een formulier heeft gegenereerd, wordt een formuliergegevensstroom geretourneerd die u moet schrijven naar de webbrowser van de client. Wanneer het formulier naar de webbrowser van de client wordt geschreven, is het zichtbaar voor de gebruiker.
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Interactieve PDF forms renderen
Webtoepassingen maken die Forms renderen
De prestaties optimaliseren met de Java API optimize-the-performance-using-the-java-api
Een formulier met optimale prestaties renderen met de Forms API (Java):
-
Projectbestanden opnemen
Neem client-JAR-bestanden, zoals adobe-forms-client.jar, op in het klassenpad van uw Java-project.
-
Een Forms Client API-object maken
- Een
ServiceClientFactoryobject dat verbindingseigenschappen bevat. - Een
FormsServiceClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Opties voor het uitvoeren van de prestaties instellen
- Een
PDFFormRenderSpecobject met behulp van de constructor. - Stel de optie voor de cache van het formulier in door de
PDFFormRenderSpecobjectsetCacheEnabledmethode en doorgeventrue. - Stel de optie Gelineariseerd in door de
PDFFormRenderSpecobjectsetLinearizedPDFmethode en doorgeventrue.
- Een
-
Het formulier renderen
De
FormsServiceClientobjectrenderPDFFormen geeft de volgende waarden door:- Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie.
- A
com.adobe.idp.Documentobject dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde doorcom.adobe.idp.Documentobject. - A
PDFFormRenderSpec-object dat uitvoeringsopties opslaat om de prestaties te verbeteren. - A
URLSpecobject dat URI-waarden bevat die door de Forms-service worden vereist. - A
java.util.HashMapobject waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kuntnullals u geen bestanden aan het formulier wilt koppelen.
De
renderPDFFormmethode retourneert eenFormsResultobject dat een formuliergegevensstroom bevat die naar de webbrowser van de client moet worden geschreven. -
De formuliergegevensstroom naar de webbrowser van de client schrijven
- Een
javax.servlet.ServletOutputStreamobject dat wordt gebruikt om een formuliergegevensstroom naar de webbrowser van de client te verzenden. - Een
com.adobe.idp.Documentdoor het object aan te roepenFormsResultobject 'sgetOutputContentmethode. - Een
java.io.InputStreamdoor het object aan te roepencom.adobe.idp.DocumentobjectgetInputStreammethode. - Maak een bytearray en vul deze met de formuliergegevensstroom door de
InputStreamobjectreaden de bytearray doorgeven als een argument. - De
javax.servlet.ServletOutputStreamobjectwritemethode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan dewritemethode.
- Een
Zie ook
Snel starten (SOAP-modus): Prestaties optimaliseren met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
De prestaties optimaliseren met de webservice-API optimize-the-performance-using-the-web-service-api
Een formulier met optimale prestaties renderen met de Forms API (webservice):
-
Projectbestanden opnemen
- Maak Java-proxyklassen die gebruikmaken van de Forms-service WSDL.
- Neem de Java-proxyklassen op in het klassepad.
-
Een Forms Client API-object maken
Een
FormsService-object en stel verificatiewaarden in. -
Opties voor het uitvoeren van de prestaties instellen
- Een
PDFFormRenderSpecobject met behulp van de constructor. - Stel de optie voor de cache van het formulier in door de
PDFFormRenderSpecobjectsetCacheEnableden waar doorgeven. - Stel de zelfstandige optie in door de
PDFFormRenderSpecobjectsetStandAloneen waar doorgeven. - Stel de optie Gelineariseerd in door de
PDFFormRenderSpecobjectsetLinearizedPDFen waar doorgeven.
- Een
-
Het formulier renderen
De
FormsServiceobjectrenderPDFFormen geeft de volgende waarden door:- Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie.
- A
BLOBobject dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u doornull. - A
PDFFormRenderSpecc-object dat uitvoeringsopties opslaat. - A
URLSpecobject dat URI-waarden bevat die door de Forms-service worden vereist. - A
java.util.HashMapobject waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kuntnullals u geen bestanden aan het formulier wilt koppelen. - Een leeg
com.adobe.idp.services.holders.BLOBHolderobject dat door de methode wordt gevuld. Hiermee slaat u het gerenderde PDF formulier op. - Een leeg
javax.xml.rpc.holders.LongHolderobject dat door de methode wordt gevuld. (In dit argument wordt het aantal pagina's in het formulier opgeslagen). - Een leeg
javax.xml.rpc.holders.StringHolderobject 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
renderPDFFormwordt decom.adobe.idp.services.holders.FormsResultHolderobject dat wordt doorgegeven als de laatste argumentwaarde met een formuliergegevensstroom die naar de webbrowser van de client moet worden geschreven. -
De formuliergegevensstroom naar de webbrowser van de client schrijven
- Een
FormResultobject door de waarde van het object op te halencom.adobe.idp.services.holders.FormsResultHolderobjectvaluelid. - Een
javax.servlet.ServletOutputStreamobject dat wordt gebruikt om een formuliergegevensstroom naar de webbrowser van de client te verzenden. - Een
BLOBobject dat formuliergegevens bevat door hetFormsResultobjectgetOutputContentmethode. - Maak een bytearray en vul deze door het
BLOBobjectgetBinaryDatamethode. Deze taak wijst de inhoud van toeFormsResultobject naar de bytearray. - De
javax.servlet.http.HttpServletResponseobjectwritemethode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan dewritemethode.
- Een
Zie ook
AEM Forms aanroepen met Base64-codering