Sammanfattning av steg
Så här återger du ett formulär efter värde:
- Inkludera projektfiler.
- Skapa ett Forms Client API-objekt.
- Referera formulärdesignen.
- Återge ett formulär efter värde.
- 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.
Å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.
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
Återge ett formulär med hjälp av Java API
Återge ett formulär med hjälp av Forms API (Java):
-
Inkludera projektfiler
Inkludera JAR-klientfiler, t.ex. adobe-forms-client.jar, i Java-projektets klassökväg.
-
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 skickaServiceClientFactory-objektet.
- Skapa ett
-
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 skickajava.io.FileInputStream-objektet.
- Skapa ett
-
Återge ett formulär efter värde
Anropa
FormsServiceClient-objektetsrenderPDFForm-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 angenullom 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 angenullom du inte vill bifoga filer till formuläret.
Metoden
renderPDFFormreturnerar ettFormsResult-objekt som innehåller en formulärdataström som kan skrivas till klientens webbläsare. -
Skriv formulärdataströmmen till klientens webbläsare
- Skapa ett
com.adobe.idp.Document-objekt genom att anropa metodengetOutputContentförFormsResult-objektet. - Hämta innehållstypen för objektet
com.adobe.idp.Documentgenom att anropa dessgetContentType-metod. - Ange innehållstypen för objektet
javax.servlet.http.HttpServletResponsegenom att anropa desssetContentType-metod och skicka innehållstypen för objektetcom.adobe.idp.Document. - Skapa ett
javax.servlet.ServletOutputStream-objekt som används för att skriva formulärdataströmmen till klientwebbläsaren genom att anropajavax.servlet.http.HttpServletResponse-objektetsgetOutputStream-metod. - Skapa ett
java.io.InputStream-objekt genom att anropacom.adobe.idp.Document-objektetsgetInputStream-metod. - Skapa en bytearray och tilldela storleken på
InputStream-objektet. AnropaInputStream-objektetsavailable-metod för att hämta storleken påInputStream-objektet. - Fyll i bytearrayen med formulärdataströmmen genom att anropa
InputStream-objektetsread-metod och skicka bytearrayen som ett argument. - Anropa
javax.servlet.ServletOutputStream-objektetswrite-metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen till metodenwrite.
- Skapa ett
Å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):
-
Inkludera projektfiler
- Skapa Java-proxyklasser som använder Forms tjänst-WSDL.
- Inkludera Java-proxyklasserna i klassökvägen.
-
Skapa ett Forms Client API-objekt
Skapa ett
FormsService-objekt och ange autentiseringsvärden. -
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. ObjektetBLOBanvä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ämtajava.io.FileInputStream-objektets storlek med hjälp av dessavailable-metod. - Fyll i bytearrayen med strömdata genom att anropa
java.io.FileInputStream-objektetsread-metod och skicka bytearrayen. - Fyll i objektet
BLOBgenom att anropa desssetBinaryData-metod och skicka bytearrayen.
- Skapa ett
-
Återge ett formulär efter värde
Anropa
FormsService-objektetsrenderPDFForm-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 angenullom 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 angenullom 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
renderPDFFormfyller i objektetcom.adobe.idp.services.holders.FormsResultHoldersom skickas som det sista argumentvärdet med en formulärdataström som måste skrivas till klientens webbläsare. -
Skriv formulärdataströmmen till klientens webbläsare
- Skapa ett
FormResult-objekt genom att hämta värdet förcom.adobe.idp.services.holders.FormsResultHolder-objektetsvalue-datamedlem. - Skapa ett
BLOB-objekt som innehåller formulärdata genom att anropaFormsResult-objektetsgetOutputContent-metod. - Hämta innehållstypen för objektet
BLOBgenom att anropa dessgetContentType-metod. - Ange innehållstypen för objektet
javax.servlet.http.HttpServletResponsegenom att anropa desssetContentType-metod och skicka innehållstypen för objektetBLOB. - Skapa ett
javax.servlet.ServletOutputStream-objekt som används för att skriva formulärdataströmmen till klientwebbläsaren genom att anropajavax.servlet.http.HttpServletResponse-objektetsgetOutputStream-metod. - Skapa en bytearray och fyll i den genom att anropa
BLOB-objektetsgetBinaryData-metod. Den här aktiviteten tilldelar innehållet i objektetFormsResulttill bytearrayen. - Anropa
javax.servlet.http.HttpServletResponse-objektetswrite-metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen till metodenwrite.
- Skapa ett