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);
}
}
}
}
|
|
|