Quick Start (Base64): Retrieving PDF document properties using the web service API

The following code example determines whether the document is a PDF document and, if so, the earliest Acrobat version able to read it. (See Retrieving PDF Document Properties.)

/* 
    * 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 using Base64 Encoding"  
    * in Programming with LiveCycle 
    */ 
using System; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.IO; 
 
namespace PDFUtilityWSApp 
{ 
       class RetrieveDocumentPropertiesTest 
       { 
           [STAThread] 
           static void Main(string[] args) 
           { 
               try 
               { 
                   // Create a PDFUtilityServiceService object 
                   PDFUtilityServiceService svc = new PDFUtilityServiceService(); 
 
                   // Provide authentication credentials to the service 
                   svc.Credentials = new System.Net.NetworkCredential( 
                       "administrator", 
                       "password" 
                   ); 
 
                   // Create a BLOB that represents the input PDF file 
                   BLOB inDoc = new BLOB(); 
 
                   // Specify a document whose properties are to be determined 
                   string inputFileName = "C:\\Adobe\Loan.pdf"; 
                   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 
                   inDoc.binaryData = byteArray; 
 
                   // Create a properties options specification 
                   PDFPropertiesOptionSpec optionsSpec = new PDFPropertiesOptionSpec(); 
 
                   // Set the properties to be evaluated in the options specification. 
                   // In this example, the options specification will be used to determine 
                   // if the document is a PDF document, and if so,  
                   // which Acrobat version is required to read it. 
                   optionsSpec.isPDFDocument = true; 
                   optionsSpec.queryRequiredAcrobatVersion = true; 
 
                   // Perform the query and retrieve the document properties 
                   PDFPropertiesResult propertiesResult = svc.getPDFProperties(inDoc, optionsSpec); 
 
                   // Inspect the result and determine whether the file is a PDF document 
                   if (propertiesResult.isPDFDocument) 
                   { 
                       Console.WriteLine("Sample2.pdf has been verified to be a PDF document."); 
 
                       // Determine the required Acrobat version for reading the document 
                       string acrobatVersion = propertiesResult.requiredAcrobatVersion; 
                       Console.WriteLine("The required Acrobat version is: " + acrobatVersion); 
                   } 
               } 
               catch (Exception ee) 
               { 
                   Console.WriteLine("An unexpected exception was encountered: " + ee.Message + "\n" + ee.StackTrace); 
               } 
           } 
 
 
       } 
}