API Quick Starts (Code Examples) > Output Service API Quick Starts > Quick Start: Sending a print stream to a network printer using the web service API

Quick Start: Sending a print stream to a network printer using the web service API
The following C# code example sends a PostScript print stream to a network printer named \\Printer1\\Printer. Two copies are sent to the printer.
/*
 * 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 SendToPrinter
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            try
            {
                //Create a OutputServiceService object
                OutputServiceService outputClient = new OutputServiceService();
                outputClient.Credentials = new System.Net.NetworkCredential("administrator", "password");
 
                //Create a BLOB object that stores form data
                BLOB inData = new BLOB();
 
                //Reference XML data to merge with the form design
                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;
 
                //Set print run-time options
                PrintedOutputOptionsSpec printOptions = new PrintedOutputOptionsSpec();
                printOptions.copies = 2;
                printOptions.lookAhead = 300;
                printOptions.recordLevel = 1;
 
                //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();
 
                //Generate a PostScript print stream
                outputClient.generatePrintedOutput(
                    PrintFormat.PostScript,
                    "Loan.xdp",
                    "C:\\Adobe",
                    "C:\\Adobe",
                    printOptions,
                    inData,
                    out generatePDFOutputMetaDataDoc,
                    out generatePDFOutputResultDoc,
                    out outResult);
 
                //Get the PostScript print stream to send to the printer
                BLOB psPrintStream = outResult.generatedDoc;
 
                //Specify the print server and the printer name
                String printServer = "\\\\Printer1";
                String printerName = "\\\\Printer1\\Printer";
 
                //Send the PostScript print stream to the printer
                outputClient.sendToPrinter(
                    inData,
                    PrinterProtocol.SharedPrinter,
                    true,
                    printServer,
                    printerName);
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.Message);
            }
        }
    }
}
 

API Quick Starts (Code Examples) > Output Service API Quick Starts > Quick Start: Sending a print stream to a network printer 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/000106.html