Återger Forms på klienten rendering-forms-at-the-client
Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.
Återger Forms på klienten rendering-forms-at-the-client-inner
Du kan optimera leveransen av PDF-innehåll och förbättra Forms-tjänstens förmåga att hantera nätverksbelastningen genom att använda klientsidesrenderingsfunktionen i Acrobat eller Adobe Reader. Den här processen kallas att återge ett formulär på klienten. Om du vill återge ett formulär på klienten måste klientenheten (vanligtvis en webbläsare) använda Acrobat 7.0 eller Adobe Reader 7.0 eller senare.
Ändringar i ett formulär som är ett resultat av skriptkörning på serversidan återspeglas inte i ett formulär som återges på klienten såvida inte rotdelformuläret innehåller attributet restoreState
som är inställt på auto
. Mer information om attributet finns i Forms Designer.
Sammanfattning av steg summary-of-steps
Så här återger du ett formulär på klienten:
- Inkludera projektfiler.
- Skapa ett Forms Client API-objekt.
- Ange körningsalternativ för klientåtergivning.
- Återge ett formulär på klienten.
- Skriv formuläret till webbläsaren.
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 utföra en API-åtgärd för Forms-tjänstklienten måste du skapa en Forms-tjänstklient. Om du använder Java API skapar du ett FormsServiceClient
-objekt. Om du använder Forms webbtjänst-API:t skapar du ett FormsService
-objekt.
Ange körningsalternativ för klientåtergivning
Ange körtidsalternativet för klientåtergivning för att återge ett formulär på klienten genom att ställa in körningsalternativet RenderAtClient
på true
. Detta resulterar i att formuläret levereras till klientenheten där det återges. Om RenderAtClient
är auto
(standardvärdet) avgör formulärdesignen om formuläret återges hos klienten. Formulärdesignen måste vara en formulärdesign med flödeslayout.
Ett valfritt körningsalternativ som du kan ange är alternativet SeedPDF
. Alternativet SeedPDF
kombinerar PDF-behållaren (dirigerat PDF-dokument) med formulärdesignen och XML-data. Både formulärdesignen och XML-data levereras till Acrobat eller Adobe Reader, där formuläret återges. Alternativet SeedPDF
kan användas när klientdatorn inte har teckensnitt som används i formuläret, till exempel när en slutanvändare inte har licens att använda ett teckensnitt som formulärägaren har licens att använda.
Du kan använda Designer för att skapa en enkel dynamisk PDF-fil som du kan använda som startvärdesfil för PDF. Följande steg krävs för att utföra den här uppgiften:
- Ange om du behöver bädda in teckensnitt i startfilen för PDF. Filen för dirigerade PDF måste innehålla ytterligare teckensnitt som krävs för att formuläret ska kunna återges. När du bäddar in teckensnitt i startfilen måste du se till att du inte bryter mot några licensavtal för teckensnitt. I Designer kan du bestämma om du ska kunna bädda in teckensnitt som är juridiskt bindande. Om det finns teckensnitt som du inte kan bädda in i formuläret visas ett meddelande i Designer med en lista över de teckensnitt som du inte kan bädda in. Det här meddelandet visas inte i Designer för statiska PDF-dokument.
- Om du skapar startvärdesfilen PDF i Designer bör du åtminstone lägga till ett textfält som innehåller ett meddelande. Meddelandet bör riktas till användare av tidigare versioner av Adobe Reader som uppger att de behöver Acrobat 7.0 eller senare eller Adobe Reader 7.0 eller senare för att kunna visa dokumentet.
- Spara startvärdesfilen PDF som en dynamisk PDF-fil med filnamnstillägget PDF.
Återge ett formulär på klienten
Om du vill återge ett formulär på klienten måste du se till att alternativen för klientåtergivning vid körning inkluderas i programlogiken för att återge ett formulär.
Skriv formulärdataströmmen till klientwebbläsaren
Forms skapar en formulärdataström som du måste skriva till klientens webbläsare. När formuläret skrivs till webbläsaren återges det av Acrobat 7.0 eller Adobe Reader 7.0 eller senare och är synligt för användaren.
Se även
Återge ett formulär på klienten med Java API
Återge ett formulär på klienten med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Återge ett formulär på klienten med Java API render-a-form-at-the-client-using-the-java-api
Återge ett formulär på klienten med 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
-
Ange körningsalternativ för klientåtergivning
- Skapa ett
PDFFormRenderSpec
-objekt med hjälp av dess konstruktor. - Ange körningsalternativet
RenderAtClient
genom att anropaPDFFormRenderSpec
-objektetssetRenderAtClient
-metod och skicka uppräkningsvärdetRenderAtClient.Yes
.
- Skapa ett
-
Återge ett formulär på klienten
Anropa
FormsServiceClient
-objektetsrenderPDFForm
-metod och skicka följande värden:- Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett AEM Forms-program måste du ange den fullständiga sökvägen, till exempel
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Ett
com.adobe.idp.Document
-objekt som innehåller data som ska sammanfogas med formuläret. Om du inte vill sammanfoga data skickar du ett tomtcom.adobe.idp.Document
-objekt. - Ett
PDFFormRenderSpec
-objekt som lagrar körningsalternativ som krävs för att återge ett formulär på klienten. - Ett
URLSpec
-objekt som innehåller URI-värden som krävs av Forms-tjänsten för att återge ett formulär. - Ett
java.util.HashMap
-objekt som lagrar bifogade filer. Det här är en valfri parameter och du kan angenull
om du inte vill bifoga filer till formuläret.
Metoden
renderPDFForm
returnerar ettFormsResult
-objekt som innehåller en formulärdataström som måste skrivas till klientens webbläsare. - Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett AEM Forms-program måste du ange den fullständiga sökvägen, till exempel
-
Skriv formulärdataströmmen till klientens webbläsare
- Skapa ett
com.adobe.idp.Document
-objekt genom att anropaFormsResult
-objektetsgetOutputContent
-metod. - Hämta innehållstypen för objektet
com.adobe.idp.Document
genom att anropa dessgetContentType
-metod. - Ange innehållstypen för objektet
javax.servlet.http.HttpServletResponse
genom 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 fyll i den 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
Se även
Snabbstart (SOAP): Återge ett formulär på klienten med Java API
Återge ett formulär på klienten med hjälp av webbtjänstens API render-a-form-at-the-client-using-the-web-service-api
Återge ett formulär på klienten med Forms API (webbtjänst):
-
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. -
Ange körningsalternativ för klientåtergivning
- Skapa ett
PDFFormRenderSpec
-objekt med hjälp av dess konstruktor. - Ange körningsalternativet
RenderAtClient
genom att anropaPDFFormRenderSpec
-objektetssetRenderAtClient
-metod och skicka strängvärdetRenderAtClient.Yes
.
- Skapa ett
-
Återge ett formulär på klienten
Anropa
FormsService
-objektetsrenderPDFForm
-metod och skicka följande värden:- Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett Forms-program måste du ange den fullständiga sökvägen, till exempel
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Ett
BLOB
-objekt som innehåller data som ska sammanfogas med formuläret. Om du inte vill sammanfoga data skickar dunull
. (Se Förifyll Forms med flödeslayouter.) - Ett
PDFFormRenderSpec
-objekt som lagrar körningsalternativ som krävs för att återge ett formulär på klienten. - 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 angenull
om du inte vill bifoga filer till formuläret. - Ett tomt
com.adobe.idp.services.holders.BLOBHolder
-objekt som fylls i av metoden. Den här parametern används för att lagra det återgivna PDF-formuläret. - Ett tomt
javax.xml.rpc.holders.LongHolder
-objekt som fylls i av metoden. (Det här argumentet 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 objektetcom.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. - Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett Forms-program måste du ange den fullständiga sökvägen, till exempel
-
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
BLOB
genom att anropa dessgetContentType
-metod. - Ange innehållstypen för objektet
javax.servlet.http.HttpServletResponse
genom 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 objektetFormsResult
till 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
Se även
Anropa AEM Forms med Base64-kodning