API Quick Starts (Code Examples) > Output Service API Quick Starts > Quick Start: Creating search rules using the web service API

Quick Start: Creating search rules using the web service API
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 object
				OutputServiceService outputClient = new OutputServiceService(); 
				outputClient.Credentials = new System.Net.NetworkCredential("administrator", "password");
 
				//Create a BLOB object to store form data
				BLOB inData = new BLOB();
 
				//Reference XML data to merge into the PDF document
				string inputFileName = "C:\\Adobe\\Loan.xml";
				FileStream fs = new FileStream(inputFileName, FileMode.Open);
 
				//Get the length of the file stream and create a byte array 
				int len = (int)fs.Length;
				byte[] byteArray = new byte[len];
 
				//Populate the byte array with the contents of the file stream
				fs.Read(byteArray, 0, len);
 
				//Populate the BLOB object
				inData.binaryData = byteArray;
 
				//Define two sets of rules
				Rule 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 rules
				Object[]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 rules
				PDFOutputOptionsSpec pdfOptions = new PDFOutputOptionsSpec();
				pdfOptions.fileURI = "C:\\Adobe\\Loan.pdf";
				pdfOptions.lookAhead = 300; 
				pdfOptions.rules = myRules; 
 
				//Set rendering run-time options
				RenderOptionsSpec renderOptions = new RenderOptionsSpec(); 
				renderOptions.cacheEnabled = true; 
			
				//Create empty objects to pass as arguments
				//to the generatePDFOutput method
				//These objects are populated by the method
				BLOB generatePDFOutputMetaDataDoc = new BLOB(); 
				BLOB generatePDFOutputResultDoc = new BLOB();
				OutputResult outResult = new OutputResult();
 
				//Create a PDF Document using search rules
				outputClient.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 data
				byte[] outByteArray=generatePDFOutputResultDoc.binaryData; 
 
				//Create a new file to store result data
				string FILE_NAME = "C:\\Adobe\\Output.xml"; 
				FileStream fs2 = new FileStream(FILE_NAME, FileMode.OpenOrCreate);
        
				//Create a BinaryWriter object
				BinaryWriter 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.

API Quick Starts (Code Examples) > Output Service API Quick Starts > Quick Start: Creating search rules using the web service 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/000111.html