The following C# code example creates two text patterns that the Output service searches for. The first text pattern is Mortgage. If found, the Output service uses the form design named Mortgage.xdp. The second text pattern is Automobile. If found, the Output service uses the form design named AutomobileLoan.xdp. If neither text pattern is located, the Output service uses the default form design named Loan.xdp./** Ensure that you create a .NET client assembly that uses* base64 encoding. This is required to populate a BLOB* object with data or retrieve data from a BLOB object.** For information, see "Invoking LiveCycle ES using Base64 Encoding"* in Programming with LiveCycle ES*/using System;using System.Collections;using System.ComponentModel;using System.Data;using System.IO ;namespace CreateSearchRules{class Class1{[STAThread]static void Main(string[] args){try{//Create an OutputServiceService objectOutputServiceService outputClient = new OutputServiceService();outputClient.Credentials = new System.Net.NetworkCredential("administrator", "password");//Create a BLOB object to store form dataBLOB inData = new BLOB();//Reference XML data to merge into the PDF documentstring inputFileName = "C:\\Adobe\\Loan.xml";FileStream fs = new FileStream(inputFileName, FileMode.Open);//Get the length of the file stream and create a byte arrayint len = (int)fs.Length;byte[] byteArray = new byte[len];//Populate the byte array with the contents of the file streamfs.Read(byteArray, 0, len);//Populate the BLOB objectinData.binaryData = byteArray;//Define two sets of rulesRule mortageRule = new Rule();mortageRule.pattern = "Mortgage";mortageRule.form = "Mortgage.xdp";Rule automobileRule = new Rule();automobileRule.pattern = "Automobile";automobileRule.form = "AutomobileLoan.xdp";//Create an array of Object to hold the rulesObject[]myRules = new Object[2];myRules[0] = new Object();myRules[1] = new Object();myRules[0]=mortageRule;myRules[1]=automobileRule;//Set PDF run-time options - including the rulesPDFOutputOptionsSpec pdfOptions = new PDFOutputOptionsSpec();pdfOptions.fileURI = "C:\\Adobe\\Loan.pdf";pdfOptions.lookAhead = 300;pdfOptions.rules = myRules;//Set rendering run-time optionsRenderOptionsSpec renderOptions = new RenderOptionsSpec();renderOptions.cacheEnabled = true;//Create empty objects to pass as arguments//to the generatePDFOutput method//These objects are populated by the methodBLOB generatePDFOutputMetaDataDoc = new BLOB();BLOB generatePDFOutputResultDoc = new BLOB();OutputResult outResult = new OutputResult();//Create a PDF Document using search rulesoutputClient.generatePDFOutput(TransformationFormat.PDF,"Loan.xdp","C:\\Adobe",pdfOptions,renderOptions,inData,out generatePDFOutputMetaDataDoc,out generatePDFOutputResultDoc,out outResult);//Write the result data to Output.xml//Populate a byte array with BLOB databyte[] outByteArray=generatePDFOutputResultDoc.binaryData;//Create a new file to store result datastring FILE_NAME = "C:\\Adobe\\Output.xml";FileStream fs2 = new FileStream(FILE_NAME, FileMode.OpenOrCreate);//Create a BinaryWriter objectBinaryWriter w = new BinaryWriter(fs2);w.Write(outByteArray);w.Close();fs2.Close();}catch (Exception ee){Console.WriteLine(ee.Message);}}}}Note: Notice that you have to specify the out keyword in front of the additional web service arguments that are passed to the generatePDFOutput method.
| 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/000111.html