Sammanfattning av steg

Så här återger du ett formulär efter värde:

  1. Inkludera projektfiler.
  2. Skapa ett Forms Client API-objekt.
  3. Referera formulärdesignen.
  4. Återge ett formulär efter värde.
  5. Skriv formulärdataströmmen till klientens webbläsare.

Inkludera projektfiler

Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.

Skapa ett Forms Client API-objekt

Innan du programmässigt kan importera data till ett klient-API i PDF måste du skapa en dataintegreringstjänstklient. När du skapar en tjänstklient definierar du de anslutningsinställningar som krävs för att anropa en tjänst.

Referera formulärdesignen

När du återger ett formulär efter värde måste du skapa ett com.adobe.idp.Document-objekt som innehåller den formulärdesign som ska återges. Du kan referera till en befintlig XDP-fil eller så kan du dynamiskt skapa en formulärdesign vid körning och fylla i en com.adobe.idp.Document med dessa data.

OBSERVERA
Det här avsnittet och motsvarande snabbstart refererar till en befintlig XDP-fil.

Återge ett formulär efter värde

Om du vill återge ett formulär med hjälp av ett värde skickar du en com.adobe.idp.Document-instans som innehåller formulärdesignen till återgivningsmetodens inDataDoc-parameter (kan vara någon av FormsServiceClient-objektets återgivningsmetoder som renderPDFForm, (Deprecated) renderHTMLForm och så vidare). Det här parametervärdet är vanligtvis reserverat för data som sammanfogas med formuläret. På samma sätt skickar du ett tomt strängvärde till parametern formQuery. I vanliga fall kräver den här parametern ett strängvärde som anger namnet på formulärdesignen.

OBSERVERA
Om du vill visa data i formuläret måste data anges i elementet xfa:datasets. Mer information om XFA-arkitekturen finns på https://www.pdfa.org/norm-refs/XFA-3_3.pdf.

Skriv formulärdataströmmen till klientwebbläsaren

När Forms-tjänsten återger ett formulär efter värde returneras en formulärdataström som du måste skriva till klientens webbläsare. När formuläret skrivs till webbläsaren visas det för användaren.

Se även

Återge ett formulär med hjälp av Java API

Återge ett formulär utifrån värde med hjälp av webbtjänstens API

Inkludera AEM Forms Java-biblioteksfiler

Ange anslutningsegenskaper

Snabbstart för Forms Service API

Skicka dokument till Forms

Skapa webbprogram som återger Forms

Återge ett formulär med hjälp av Java API

Återge ett formulär med hjälp av Forms API (Java):

  1. Inkludera projektfiler

    Inkludera JAR-klientfiler, t.ex. adobe-forms-client.jar, i Java-projektets klassökväg.

  2. Skapa ett Forms Client API-objekt

    • Skapa ett ServiceClientFactory-objekt som innehåller anslutningsegenskaper.
    • Skapa ett FormsServiceClient-objekt med hjälp av dess konstruktor och skicka ServiceClientFactory-objektet.
  3. Referera till formulärdesignen

    • Skapa ett java.io.FileInputStream-objekt som representerar formulärdesignen som ska återges med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för XDP-filen.
    • Skapa ett com.adobe.idp.Document-objekt med hjälp av dess konstruktor och skicka java.io.FileInputStream-objektet.
  4. Återge ett formulär efter värde

    Anropa FormsServiceClient-objektets renderPDFForm-metod och skicka följande värden:

    • Ett tomt strängvärde. (Den här parametern kräver vanligtvis ett strängvärde som anger formulärdesignens namn.)
    • Ett com.adobe.idp.Document-objekt som innehåller formulärdesignen. Normalt är det här parametervärdet reserverat för data som sammanfogas med formuläret.
    • Ett PDFFormRenderSpec-objekt som lagrar körningsalternativ. Det här är en valfri parameter och du kan ange null om du inte vill ange körningsalternativ.
    • Ett URLSpec-objekt som innehåller URI-värden som krävs av Forms-tjänsten.
    • Ett java.util.HashMap-objekt som lagrar bifogade filer. Det här är en valfri parameter och du kan ange null om du inte vill bifoga filer till formuläret.

    Metoden renderPDFForm returnerar ett FormsResult-objekt som innehåller en formulärdataström som kan skrivas till klientens webbläsare.

  5. Skriv formulärdataströmmen till klientens webbläsare

    • Skapa ett com.adobe.idp.Document-objekt genom att anropa metoden getOutputContent för FormsResult-objektet.
    • Hämta innehållstypen för objektet com.adobe.idp.Document genom att anropa dess getContentType-metod.
    • Ange innehållstypen för objektet javax.servlet.http.HttpServletResponse genom att anropa dess setContentType-metod och skicka innehållstypen för objektet com.adobe.idp.Document.
    • Skapa ett javax.servlet.ServletOutputStream-objekt som används för att skriva formulärdataströmmen till klientwebbläsaren genom att anropa javax.servlet.http.HttpServletResponse-objektets getOutputStream-metod.
    • Skapa ett java.io.InputStream-objekt genom att anropa com.adobe.idp.Document-objektets getInputStream-metod.
    • Skapa en bytearray och tilldela storleken på InputStream-objektet. Anropa InputStream-objektets available-metod för att hämta storleken på InputStream-objektet.
    • Fyll i bytearrayen med formulärdataströmmen genom att anropa InputStream-objektets read-metod och skicka bytearrayen som ett argument.
    • Anropa javax.servlet.ServletOutputStream-objektets write-metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen till metoden write.

Återge ett formulär utifrån värde med hjälp av webbtjänstens API

Återge ett formulär med hjälp av Forms API (webbtjänsten):

  1. Inkludera projektfiler

    • Skapa Java-proxyklasser som använder Forms tjänst-WSDL.
    • Inkludera Java-proxyklasserna i klassökvägen.
  2. Skapa ett Forms Client API-objekt

    Skapa ett FormsService-objekt och ange autentiseringsvärden.

  3. Referera till formulärdesignen

    • Skapa ett java.io.FileInputStream-objekt med hjälp av dess konstruktor. Skicka ett strängvärde som anger platsen för XDP-filen.
    • Skapa ett BLOB-objekt med hjälp av dess konstruktor. Objektet BLOB används för att lagra ett PDF-dokument som är krypterat med ett lösenord.
    • Skapa en bytearray som lagrar innehållet i objektet java.io.FileInputStream. Du kan bestämma storleken på bytearrayen genom att hämta java.io.FileInputStream-objektets storlek med hjälp av dess available-metod.
    • Fyll i bytearrayen med strömdata genom att anropa java.io.FileInputStream-objektets read-metod och skicka bytearrayen.
    • Fyll i objektet BLOB genom att anropa dess setBinaryData-metod och skicka bytearrayen.
  4. Återge ett formulär efter värde

    Anropa FormsService-objektets renderPDFForm-metod och skicka följande värden:

    • Ett tomt strängvärde. (Den här parametern kräver vanligtvis ett strängvärde som anger formulärdesignens namn.)
    • Ett BLOB-objekt som innehåller formulärdesignen. Normalt är det här parametervärdet reserverat för data som sammanfogas med formuläret.
    • Ett PDFFormRenderSpec-objekt som lagrar körningsalternativ. Det här är en valfri parameter och du kan ange null om du inte vill ange körningsalternativ.
    • Ett URLSpec-objekt som innehåller URI-värden som krävs av Forms-tjänsten.
    • Ett java.util.HashMap-objekt som lagrar bifogade filer. Det här är en valfri parameter och du kan ange null om du inte vill bifoga filer till formuläret.
    • Ett tomt com.adobe.idp.services.holders.BLOBHolder-objekt som fylls i av metoden. Det här används för att lagra det återgivna PDF-formuläret.
    • Ett tomt javax.xml.rpc.holders.LongHolder-objekt som fylls i av metoden. (Detta argument lagrar antalet sidor i formuläret.)
    • Ett tomt javax.xml.rpc.holders.StringHolder-objekt som fylls i av metoden. (Det här argumentet lagrar språkets värde.)
    • Ett tomt com.adobe.idp.services.holders.FormsResultHolder-objekt som innehåller resultatet av den här åtgärden.

    Metoden renderPDFForm fyller i objektet com.adobe.idp.services.holders.FormsResultHolder som skickas som det sista argumentvärdet med en formulärdataström som måste skrivas till klientens webbläsare.

  5. Skriv formulärdataströmmen till klientens webbläsare

    • Skapa ett FormResult-objekt genom att hämta värdet för com.adobe.idp.services.holders.FormsResultHolder-objektets value-datamedlem.
    • Skapa ett BLOB-objekt som innehåller formulärdata genom att anropa FormsResult-objektets getOutputContent-metod.
    • Hämta innehållstypen för objektet BLOB genom att anropa dess getContentType-metod.
    • Ange innehållstypen för objektet javax.servlet.http.HttpServletResponse genom att anropa dess setContentType-metod och skicka innehållstypen för objektet BLOB.
    • Skapa ett javax.servlet.ServletOutputStream-objekt som används för att skriva formulärdataströmmen till klientwebbläsaren genom att anropa javax.servlet.http.HttpServletResponse-objektets getOutputStream-metod.
    • Skapa en bytearray och fyll i den genom att anropa BLOB-objektets getBinaryData-metod. Den här aktiviteten tilldelar innehållet i objektet FormsResult till bytearrayen.
    • Anropa javax.servlet.http.HttpServletResponse-objektets write-metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen till metoden write.
recommendation-more-help