API Quick Starts (Code Examples) > Output Service API Quick Starts > Quick Start: Creating multiple PDF files using the web service API

Quick Start: Creating multiple PDF files using the web service API
The following C# code creates multiple PDF files for each data record that is located in an XML data file named Loan_data_batch.xml. The files are written to the C:\Adobe\ directory.
/*
 * 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 CreateBatchFiles
{
	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();
 
			//Specify the XML data file that contains multiple records
			string path = "C:\\Adobe\\Loan_data_batch.xml";
			FileStream fs = new FileStream(path, FileMode.Open);
 
			//Get the length of the file stream 
			int len = (int)fs.Length; 
			byte[] ByteArray=new byte[len];
 
			//Populate the byte array with the contents of the FileStream object
			fs.Read(ByteArray, 0, len);
			inData.binaryData = ByteArray; 
			
			//Set output run-time options to create 
			//multiple PDF files
			PDFOutputOptionsSpec pdfOptions = new PDFOutputOptionsSpec();
			pdfOptions.generateManyFiles= true;
			pdfOptions.fileURI = "C:\\Adobe\\forms\\Loan.pdf";
			pdfOptions.recordName = "LoanRecord";
			pdfOptions.lookAhead = 300 ; 
			
			//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 multiple PDF files
			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);  
			}
		}
	}
}

API Quick Starts (Code Examples) > Output Service API Quick Starts > Quick Start: Creating multiple PDF files 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/000109.html