Вы можете добавить метаданные в файл документа XPS, используя XpsDocument
класс и его CoreDocumentProperties
свойство .
Я не уверен, что это удовлетворит ваши требования, но вот как это сделать.
using System.IO;
using System.IO.Packaging;
using System.Windows.Xps.Packaging;
namespace StackOverflow
{
class Program
{
static void Main(string[] args)
{
const string XpsFilePath = @" ... path to XPS file ... ";
using (var document = new XpsDocument(XpsFilePath, FileAccess.ReadWrite))
{
PackageProperties properties = document.CoreDocumentProperties;
properties.Title = "Some title";
properties.Subject = "Some subject line";
properties.Keywords = "stackoverflow xps";
properties.Category = "Some category";
properties.Description = "Some kind of document";
properties.Creator = "me";
properties.LastModifiedBy = "me again";
properties.Revision = "Rev A";
properties.Version = "v1";
}
// XpsDocument is from System.Windows.Xps.Packaging, in ReachFramework assembly
// PackageProperties is from System.IO.Packaging, in WindowsBase assembly
}
}
}
Вы можете получить доступ к этой информации с помощью кода, создав новый XpsDocument
с доступом для чтения, т. Е.
using (var document = new XpsDocument(XpsFilePath, FileAccess.Read))
{
PackageProperties properties = document.CoreDocumentProperties;
System.Console.WriteLine(properties.Title);
// etc...
}
Вы можете просмотреть метаданные для документа XPS в Windows, щелкнув правой кнопкой мыши файл, выбрав Свойства , а затем открыв вкладку Подробно :
Метаданные не являются строго скрытыми , так как вы можете увидеть их в Windows, используя описанную выше технику, или получить к ним доступ через код. Однако он не отображается на реальных страницах документа XPS, поэтому обычно не виден при просмотре или печати.