元数据是由一组属性组成的特定数字文档的名片。这些属性包含有关文档的基本信息,例如标题、作者、主题、关键字等。可扩展元数据平台 (XMP) 是一种基于 XML 的格式,允许将文档元数据保存在键/值对中。我们可以通过编程方式在 PDF 文档中添加/编辑文档信息和 XMP 元数据。在本文中,我们将学习如何使用 C# 编辑 PDF 文件的元数据。
本文将涵盖以下主题:
- 用于编辑 PDF 文件元数据的 C# API
- 编辑 PDF 文件的元数据
- 获取 PDF 文件的元数据
- 从 PDF 文件中获取 XMP 元数据
- 在 PDF 文件中设置 XMP 元数据
- 在 PDF 文件中自定义 XMP 元数据命名空间
用于编辑 PDF 文件元数据的 C# API
要编辑 PDF 文档中的元数据信息,我们将使用 Aspose.PDF for .NET API。它允许我们在不使用 Adobe Acrobat 的情况下生成、修改、转换、渲染、保护和打印 支持的文档。请下载 API 的 DLL 或使用 NuGet 安装它。
PM> Install-Package Aspose.Pdf
在 C# 中编辑 PDF 文件的元数据
我们可以使用表示 PDF 文档元信息的 DocumentInfo 类来编辑 PDF 文档信息。我们可以按照以下给出的步骤设置各种预定义的 properties:
- 首先,使用 Document 类加载 PDF 文档。
- 接下来,使用 Document 类对象作为参数创建 DocumentInfo 类的实例。
- 然后,设置各种属性,例如作者、创建日期、关键字、主题、标题等。
- 最后,使用 Document.Save() 方法保存 PDF 文件,并将输出文件路径作为参数。
以下代码示例展示了如何使用 C# 编辑 PDF 文件的元数据。
// 此代码示例演示了如何设置 PDF 文档的基本信息。
// 打开文档
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");
// 初始化 DocumentInfo 对象
DocumentInfo docInfo = new DocumentInfo(pdfDocument);
// 指定文档信息属性
docInfo.Author = "Aspose";
docInfo.CreationDate = DateTime.Now;
docInfo.Keywords = "Aspose.Pdf, DOM, API";
docInfo.ModDate = DateTime.Now;
docInfo.Subject = "PDF Information";
docInfo.Title = "Setting PDF Document Information";
// 保存文档
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
使用 C# 获取 PDF 文件的元数据
我们可以按照以下步骤阅读PDF文档的基本信息:
- 首先,使用 Document 类加载 PDF 文档。
- 接下来,使用 Document 类对象作为参数创建 DocumentInfo 类的实例。
- 最后,通过读取元数据属性的值来显示文档信息。
以下代码示例展示了如何使用 C# 获取 PDF 文件的元数据。
// 此代码示例演示如何获取 PDF 文档的基本信息。
// 打开文档
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");
// 获取文档信息
DocumentInfo docInfo = pdfDocument.Info;
// 显示文档信息
Console.WriteLine("Author: {0}", docInfo.Author);
Console.WriteLine("Creation Date: {0}", docInfo.CreationDate);
Console.WriteLine("Keywords: {0}", docInfo.Keywords);
Console.WriteLine("Modify Date: {0}", docInfo.ModDate);
Console.WriteLine("Subject: {0}", docInfo.Subject);
Console.WriteLine("Title: {0}", docInfo.Title);
Author: Aspose
Creation Date: 2/9/2022 9:47:00 AM
Keywords: Aspose.Pdf, DOM, API
Modify Date: 2/9/2022 9:47:00 AM
Subject: PDF Information
Title: Setting PDF Document Information
使用 C# 获取 PDF 文件的 XMP 元数据
我们可以按照以下步骤读取 PDF 文档的 XMP 元数据:
以下代码示例展示了如何使用 C# 获取 PDF 文件的 XMP 元数据。
// 此代码示例演示如何获取 PDF 文档的 XMP 元数据。
// 打开文档
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");
// 显示 XMP 信息
Console.WriteLine("xmp:CreateDate : " + pdfDocument.Metadata["xmp:CreateDate"]);
Console.WriteLine("xmp:Nickname : " + pdfDocument.Metadata["xmp:Nickname"]);
Console.WriteLine("xmp:CustomProperty : " + pdfDocument.Metadata["xmp:CustomProperty"]);
xmp:CreateDate: 2022-02-09T08:57:00.7+05:00
xmp:Nickname: Nickname
xmp:CustomProperty: Custom Value
使用 C# 在 PDF 文件中设置 XMP 元数据
我们可以使用 Document 类的 Metadata 属性在 PDF 文件中设置 XMP 元数据,步骤如下:
- 首先,使用 Document 类加载 PDF 文档。
- 接下来,使用 Metadata 属性设置元数据值。
- 最后,使用 Document.Save() 方法保存 PDF 文件,并将输出文件路径作为参数。
以下代码示例展示了如何使用 C# 设置 PDF 文件的 XMP 元数据。
// 此代码示例演示如何设置 PDF 文档的 XMP 元数据。
// 打开文档
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");
// 设置属性
pdfDocument.Metadata["xmp:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["xmp:Nickname"] = "Nickname";
pdfDocument.Metadata["xmp:CustomProperty"] = "Custom Value";
// 保存文档
pdfDocument.Save("C:\\Files\\PDF\\sample_xmp.pdf");
在 PDF 文件中自定义 XMP 元数据命名空间
我们还可以在 PDF 文件中设置自定义命名空间 URI,而不是定义 XMP 规范。为此,API 在 Metadata 类中提供了 RegisterNamespaceUri 方法。我们可以按照以下步骤创建一个带有前缀的新元数据命名空间:
- 首先,使用 Document 类加载 PDF 文档。
- 接下来,使用前缀和命名空间 URI 作为参数调用 RegisterNamespaceUri 方法。
- 然后,使用 Metadata 属性设置元数据值。
- 最后,使用 Document.Save() 方法保存 PDF 文件,并将输出文件路径作为参数。
以下代码示例展示了如何使用 C# 在 PDF 文件中设置自定义元数据命名空间。
// 此代码示例演示如何在 PDF 文档中设置自定义命名空间 URI。
// 打开文档
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");
// 设置属性
pdfDocument.Metadata.RegisterNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.Metadata["myown:ModifyDate"] = DateTime.Now;
pdfDocument.Metadata["myown:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["myown:DeveloperName"] = "Developer Name";
pdfDocument.Metadata["myown:MyProperty"] = "My Custom Value";
// 保存文档
pdfDocument.Save("C:\\Files\\PDF\\sample_myown.pdf");
我们可以按照前面提到的步骤来读取自定义的 XMP 元数据属性。
myown:ModifyDate: 2022-02-09T10:38:26.8+05:00
myown:CreateDate: 2022-02-09T10:38:26.8+05:00
myown:DeveloperName: Developer Name
myown:MyProperty: My Custom Value
获取免费 API 许可证
您可以通过申请 免费的临时许可证 来试用该 API,而不受评估限制。
结论
在本文中,我们学习了如何:
- 使用 C# 添加/编辑 PDF 文档的基本信息;
- 使用 C# 设置/获取 PDF 文件中的 XMP 元数据;
- 使用前缀设置自定义元数据命名空间 URI。
此外,您可以使用 文档 了解更多关于 Aspose.PDF for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。