Een formulier op de client renderen met de 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

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

    • Maak een PDFFormRenderSpec -object met behulp van de constructor.
    • Stel de optie RenderAtClient runtime in door de methode PDFFormRenderSpec object setRenderAtClient aan te roepen en de opsommingswaarde RenderAtClient.Yes door te geven.
  4. Een formulier weergeven op de client

    Roep de methode renderPDFForm van het object FormsServiceClient aan en geef de volgende waarden door:

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

    De methode renderPDFForm 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

    • Maak een com.adobe.idp.Document -object door de methode FormsResult object 's getOutputContent aan te roepen.
    • Haal het inhoudstype van het object com.adobe.idp.Document op door de methode getContentType ervan aan te roepen.
    • Stel het inhoudstype van het javax.servlet.http.HttpServletResponse -object in door de methode setContentType ervan aan te roepen en het inhoudstype van het com.adobe.idp.Document -object door te geven.
    • Maak een javax.servlet.ServletOutputStream -object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door de methode javax.servlet.http.HttpServletResponse object getOutputStream aan te roepen.
    • Maak een java.io.InputStream -object door de methode com.adobe.idp.Document object getInputStream aan te roepen.
    • Maak een bytearray en vul deze met de formuliergegevensstroom door de methode read van het object InputStream aan te roepen en de bytearray als een argument door te geven.
    • Roep de methode write van het object javax.servlet.ServletOutputStream aan om de gegevensstroom van het formulier naar de webbrowser van de client te verzenden. Geef de bytearray door aan de methode write .

Een formulier op de client renderen met de API voor webservices

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

    Maak een FormsService -object en stel de verificatiewaarden in.

  3. Opties voor renderen tijdens runtime van client instellen

    • Maak een PDFFormRenderSpec -object met behulp van de constructor.
    • Stel de optie RenderAtClient runtime in door de methode PDFFormRenderSpec object setRenderAtClient aan te roepen en de tekenreekswaarde RenderAtClient.Yes door te geven.
  4. Een formulier weergeven op de client

    Roep de methode renderPDFForm van het object FormsService aan en geef de volgende waarden door:

    • Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u verwijst naar een formulierontwerp dat deel uitmaakt van een Forms-toepassing, moet u het volledige pad opgeven, bijvoorbeeld Applications/FormsApplication/1.0/FormsFolder/Loan.xdp .
    • Een BLOB -object dat gegevens bevat die met het formulier moeten worden samengevoegd. Geef null door als u geen gegevens wilt samenvoegen. (Zie Prepopulating Forms met Stroombare Lay-outs.)
    • Een PDFFormRenderSpec -object dat uitvoeringsopties opslaat die vereist zijn om een formulier op de client te genereren.
    • Een URLSpec -object dat URI-waarden bevat die door de Forms-service worden vereist.
    • Een java.util.HashMap -object dat bestandsbijlagen opslaat. Dit is een optionele parameter en u kunt null opgeven als u geen bestanden aan het formulier wilt koppelen.
    • Een leeg com.adobe.idp.services.holders.BLOBHolder -object dat door de methode wordt gevuld. Met deze parameter wordt het weergegeven PDF-formulier opgeslagen.
    • 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.

    Met de methode renderPDFForm wordt het com.adobe.idp.services.holders.FormsResultHolder -object dat als laatste argumentwaarde wordt doorgegeven, gevuld met een formuliergegevensstroom die naar de webbrowser van de client moet worden geschreven.

  5. De formuliergegevensstroom naar de webbrowser van de client schrijven

    • Maak een FormResult -object door de waarde van het gegevenslid van het com.adobe.idp.services.holders.FormsResultHolder object value op te halen.
    • Maak een BLOB -object dat formuliergegevens bevat door de methode FormsResult object getOutputContent aan te roepen.
    • Haal het inhoudstype van het object BLOB op door de methode getContentType ervan aan te roepen.
    • Stel het inhoudstype van het javax.servlet.http.HttpServletResponse -object in door de methode setContentType ervan aan te roepen en het inhoudstype van het BLOB -object door te geven.
    • Maak een javax.servlet.ServletOutputStream -object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door de methode javax.servlet.http.HttpServletResponse object getOutputStream aan te roepen.
    • Maak een bytearray en vul deze door de methode getBinaryData van het object BLOB aan te roepen. Hierdoor wordt de inhoud van het FormsResult -object toegewezen aan de bytearray.
    • Roep de methode write van het object javax.servlet.http.HttpServletResponse aan om de gegevensstroom van het formulier naar de webbrowser van de client te verzenden. Geef de bytearray door aan de methode write .
recommendation-more-help