XPS 文档中的注释

Comments in XPS document

我正在尝试在 XPS 文档中添加注释。是否可以使用 .Net API 并读回它们?我需要添加嵌入在 XPS 文件中的隐藏文本。

您可以使用 XpsDocument class and its CoreDocumentProperties property.

添加 元数据 到 XPS 文档文件

我不确定这是否会满足您的要求,但这是如何做到的。

using System.IO;
using System.IO.Packaging;
using System.Windows.Xps.Packaging;

namespace Whosebug
{
    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 = "Whosebug 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...
}

您可以在 Windows 中查看 XPS 文档的元数据,方法是右键单击该文件,选择 属性 ,然后显示 详细信息 选项卡:

元数据并非严格隐藏,您可以使用上述技术在 Windows 中看到它或通过代码访问它。但是,它不会显示在 XPS 文档的实际页面上,因此在查看或打印时通常不可见。