API Quick Starts (Code Examples) > Forms Service API Quick Starts > Quick Start: Rendering a rights-enabled form using the Java API

Quick Start: Rendering a rights-enabled form using the Java API
The following code example renders a rights-enabled form to a client web browser. The usage rights set in this code example enable a user to add comments in the form and save form data. (See Rendering Rights-Enabled Forms.)
/*
 * This Java Quick Start uses the following JAR files
 * 1. adobe-forms-client.jar
 * 2. adobe-livecycle-client.jar
 * 3. adobe-usermanager-client.jar
 * 
 *  (Because Forms quick starts are implemented as Java servlets, it is 
 *  not necessary to include J2EE specific JAR files - the Java project
 *  that contains this quick start is exported as a WAR file which
 *  is deployed to the J2EE application server)
 *  
 *  These JAR files are located in the following path:
 * <install directory>/Adobe/LiveCycle8/LiveCycle_ES_SDK/client-libs
 * 
 * For complete details about the location of these JAR files, 
 * see "Including LiveCycle ES library files" in Programming with LiveCycle ES
 */
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;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 
 
public class RenderUsageRightsForms 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(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "jnp://localhost:1099");
		connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_EJB_PROTOCOL);          
		connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
		connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
		connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
			
		//Create a FormsServiceClient object
		ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
		FormsServiceClient formsClient = new FormsServiceClient(myFactory); 
		
		//Set parameter values for the renderPDFFormWithUsageRights method
		String formName = "FormsFolder/Loan.xdp"; 
		byte[]	cData = "".getBytes();
		Document oInputData = new Document(cData);
		
		//Set run-time options
		PDFFormRenderSpec pdfFormRenderSpec = new PDFFormRenderSpec();
		pdfFormRenderSpec.setCacheEnabled(new Boolean(true));
		
		//Set usage-rights run-time options
		ReaderExtensionSpec reOptions = new ReaderExtensionSpec();
		reOptions.setReCredentialAlias("RE2");
		reOptions.setReCommenting(true);
		reOptions.setReFillIn(true);
		
		//Specify URI values required to render the form
		URLSpec uriValues = new URLSpec(); 
		uriValues.setApplicationWebRoot("http://localhost:8080/FormsQS");
		uriValues.setContentRootURI("repository:///");
		uriValues.setTargetURL("http://localhost:8080/FormsQS/HandleData");
		
		//Render a rights-enabled PDF form
		FormsResult formOut = formsClient.renderPDFFormWithUsageRights(
			formName,            //formQuery
			oInputData,          //inDataDoc 
			pdfFormRenderSpec,   //renderFormOptionsSpec
			reOptions, 			 //applicationWebRoot
			uriValues            //targetURL
			);
		
		//Create a Document object that stores form data
		Document myData = formOut.getOutputContent();
		
		//Get the content type of the response and
		//set the HttpServletResponse objects 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());
	  }
	}
}
 
 

API Quick Starts (Code Examples) > Forms Service API Quick Starts > Quick Start: Rendering a rights-enabled form using the Java API

Programming with LiveCycle ES (LiveDocs)
Adobe LiveCycle ES Update 1

 

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

Current page: http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/000074.html