Take a survey

API Quick Starts (Code Examples) > Forms Service API Quick Starts > Quick Start: Rendering an interactive PDF form using the Java API

Quick Start: Rendering an interactive PDF form using the Java API
The following code example renders an interactive PDF form named Loan.xdp to a client web browser. A file is attached to the form. Notice that the form design is stored in the repository.
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
 
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.adobe.livecycle.formsservice.client.*;
import java.util.*;
import java.io.InputStream;
 
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 
public class RenderPDFForm extends HttpServlet implements Servlet {
 
 
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
			doPost(req,resp);
 
	}
 
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
		throws ServletException, IOException {
			try{
			//Set connection properties required to invoke LiveCycle ES	
			Properties connectionProps = new Properties();
			connectionProps.setProperty("DSC_DEFAULT_EJB_ENDPOINT", "jnp://localhost:1099");
			connectionProps.setProperty("DSC_TRANSPORT_PROTOCOL","EJB");          
			connectionProps.setProperty("DSC_SERVER_TYPE", "JBoss");
			connectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
			connectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");
			
			//Create a ServiceClientFactory object
			ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
				
			//Create a FormsServiceClient object
			FormsServiceClient formsClient = new FormsServiceClient(myFactory); 
		
			//Set the parameter values for the renderPDFForm method
			String formName = "/Loan.xdp";  
			byte[]	cData = "".getBytes();
			Document oInputData = new Document(cData);
									
			//Cache the PDF form
			PDFFormRenderSpec pdfFormRenderSpec = new PDFFormRenderSpec();
			pdfFormRenderSpec.setCacheEnabled(new Boolean(true));
		
			//Specify URI values that are required to render a form
			URLSpec uriValues = new URLSpec(); 
			uriValues.setApplicationWebRoot("http://localhost:8080/FormsServiceClientApp4");
			uriValues.setContentRootURI("repository://");
			uriValues.setTargetURL("http://localhost:8080/FormsServiceClientApp4/HandleData");
					
			//Specify file attachments to attach to the form
			FileInputStream fileAttachment = new FileInputStream("C:\\rideau1.jpg"); 
			Document attachment1 = new Document(fileAttachment);
			String fileName = "rideau1.jpg";
			Map fileAttachments = new HashMap();
			fileAttachments.put(fileName, attachment1); 
						
			//Invoke the renderPDFForm method and write the 
			//results to a client web browser
			FormsResult formOut = formsClient.renderPDFForm(
						formName,               //formQuery
						oInputData, 			//inDataDoc
						pdfFormRenderSpec,      //PDFFormRenderSpec
						uriValues,				//urlSpec
						fileAttachments			//attachments
						);
		
			//Create a Document object that stores form data
			Document myData = formOut.getOutputContent();
		
			//Get the content type of the response and
			//set the HttpServletResponse object’s content type
			String contentType = myData.getContentType(); 
			resp.setContentType(contentType);
		
			//Create a ServletOutputStream object
			ServletOutputStream oOutput = resp.getOutputStream();
		
			//Create an InputStream object
			InputStream inputStream = myData.getInputStream();
		
			//Get the size of the InputStream object
			int size = inputStream.available();
		
			//Create and populate a byte array	
			byte[] data = new byte[size];
			inputStream.read(data);
				
			//Write the data stream to the web browser		
			oOutput.write(data);
		
			}catch (Exception e) {
				 System.out.println("The following exception occurred: "+e.getMessage());
			  }
		}
}
 

 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/sdkHelp/quickStarts_Forms.10.2.html