Quick Start (Base64): Exporting XMP metadata using the web service API

The following code example retrieves, inspects, and saves XMP metadata. (See Exporting Metadata from PDF Documents.

/* 
    * 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 "Creating a .NET client assembly" in Programming 
    * with LiveCycle 
    */ 
using System; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.IO; 
 
namespace XMPUtilityWSApp 
{ 
 
       class ExportMetadata 
       { 
           [STAThread] 
           static void Main(string[] args) 
           { 
           try 
             { 
              // Create a XMPUtilityServiceService object 
              XMPUtilityServiceService svc = new XMPUtilityServiceService(); 
 
              // 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 PDF document whose metadata is to be exported 
              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; 
 
              // Export the XMP metadata object 
               XMPUtilityMetadata myXmp = svc.exportMetadata(inDoc); 
 
               // Inspect the XMP metadata object (retrieve the document's author in this case) 
               string name = myXmp.author; 
               Console.WriteLine("The document's author is " + name); 
 
               // Export the XMP metadata 
               BLOB outDoc = svc.exportXMP(inDoc); 
 
               // Save the returned BLOB object as an XML file 
               byte[] outByteArray = outDoc.binaryData; 
               string FILE_NAME = "C:\\pdfMetaData.xml"; 
               FileStream fs2 = new FileStream(FILE_NAME, FileMode.OpenOrCreate); 
               BinaryWriter w = new BinaryWriter(fs2); 
               w.Write(outByteArray); 
               w.Close(); 
               fs2.Close(); 
               Console.WriteLine("The PDF document's metadata was exported to an XML file."); 
            } 
 
           catch (Exception ee) 
             { 
              Console.WriteLine("An unexpected exception was encountered: " + ee.Message + "\n" + ee.StackTrace); 
             } 
          } 
       } 
}