The following code example renders an interactive PDF form named Loan.xdp to a client web browser using the Forms web service API. A JPG file is attached to the form. The form design is stored in the C:\Adobe folder. (See Rendering Interactive PDF Forms.)/** Ensure that you create the Java proxy classes to use* base64 encoding. This is required to populate a BLOB* object with data or retrieve data from a BLOB object.** For information, see "Creating Java proxy classes using Apache Axis"* 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 java.io.FileInputStream;import java.util.HashMap;import javax.xml.rpc.holders.LongHolder;import javax.xml.rpc.holders.StringHolder;import com.adobe.idp.services.BLOB;import com.adobe.idp.services.FormsService;import com.adobe.idp.services.FormsServiceServiceLocator;import com.adobe.idp.services.PDFFormRenderSpec;import com.adobe.idp.services.URLSpec;import com.adobe.idp.services.holders.BLOBHolder;import com.adobe.idp.services.holders.FormsResultHolder;public class RenderPDFFormWS 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{com.adobe.idp.services.FormsServiceServiceLocator sl = new FormsServiceServiceLocator();FormsService formsOb = sl.getFormsService();//Specify the user name and password to invoke LiveCycle ES((javax.xml.rpc.Stub)formsOb)._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "administrator");((javax.xml.rpc.Stub)formsOb)._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "password");//Specify file attachments to attach to the formFileInputStream fileAttachment = new FileInputStream("C:\\rideau1.jpg");BLOB attachment1 = new BLOB();int len = fileAttachment.available();byte []fileStream = new byte[len] ;fileAttachment.read(fileStream);attachment1.setBinaryData(fileStream);String fileName = "rideau1.jpg";//Create a HashMap object to store file attachmentsHashMap fileAttachments = new HashMap();fileAttachments.put(fileName, attachment1);//Create a PDFFormRenderSpec objectPDFFormRenderSpec pdfFormRenderSpec = new PDFFormRenderSpec();pdfFormRenderSpec.setCacheEnabled(new Boolean(true));//Specify URI values used by the Forms serviceURLSpec uriValues = new URLSpec();uriValues.setApplicationWebRoot("http://localhost:8080/FormsWSQS");uriValues.setContentRootURI("C:\\Adobe");uriValues.setTargetURL("http://localhost:8080/FormsWSQS/HandleData");//Create class holder objectsBLOBHolder outRenderPDFFormResultDoc = new BLOBHolder();FormsResultHolder formsResult = new FormsResultHolder();LongHolder longHolder = new LongHolder();StringHolder stringHolder = new StringHolder();//Invoke the renderPDFForm method to render//an interactive PDF formformsOb.renderPDFForm("Loan.xdp",null,pdfFormRenderSpec,uriValues,fileAttachments,outRenderPDFFormResultDoc,longHolder,stringHolder,formsResult);//Create a BLOB object that contains form dataBLOB formData = formsResult.value.getOutputContent();//Get the content type of the response and//set the HttpServletResponse objects content typeString contentType = formData.getContentType();resp.setContentType(contentType);//Create a ServletOutputStream objectServletOutputStream oOutput = resp.getOutputStream();//Create a byte array that stores form data in the BLOB objectbyte[] cContent = formData.getBinaryData();//Write a byte stream back to the web browser.//Pass the byte arrayoOutput.write(cContent);}catch (Exception e) {System.out.println("The following error occurred during this operation " +e.getMessage());}}}
| 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/000066.html