可扩展元数据平台 - XMP
可扩展元数据平台 (XMP) 是由 Adobe Systems Inc. 创建的标准。该标准旨在处理和存储标准化和专有元数据。这些元数据可以嵌入到不同的文件格式中,但在本文中我们将仅关注 PDF 文件格式。我们将看到如何使用 Aspose.Pdf.Facades 命名空间在 PDF 文件中嵌入元数据。我们将使用
PdfXmpMetadata 类来操作 PDF 文档中的 XMP。
背景
PDF 文件在其生命周期中经历多个阶段。我们创建一个 PDF 文档,然后将其传递给其他人或部门进行进一步处理。然而,在此过程中,我们需要跟踪所做更改的不同方面。XMP 旨在跟踪文件中数据的更改或其他信息。
解释
为了使用 Aspose.Pdf.Facades 操作 XMP,我们将使用 PdfXmpMetadata 类。我们将使用此类来操作预定义的元数据属性。PdfXmpMetadata 类将这些属性添加到 PDF 文件中。它还帮助打开和保存我们添加元数据的 PDF 文件。因此,使用 PdfXmpMetadata 类,我们可以轻松地在 PDF 文件中操作 XMP。
以下代码片段将帮助您理解如何使用 PdfXmpMetadata 类来处理 XMP
.NET Core 3.1
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddXmpMetadata ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdfFacades_TechnicalArticles ();
// Create an object of PdfXmpMetadata class
var xmpMetaData = new Aspose . Pdf . Facades . PdfXmpMetadata ();
// Create input and output file streams
using ( var input = new FileStream ( dataDir + "FilledForm.pdf" , FileMode . Open ))
{
using ( var output = new FileStream ( dataDir + "xmp_out.pdf" , FileMode . Create ))
{
// Bind PDF document
xmpMetaData . BindPdf ( input );
// Add base URL property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . BaseURL , "xmlns:pdf=http:// Ns.adobe.com/pdf/1.3/" );
// Add creation date property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . CreateDate , DateTime . Now . ToString ());
// Add Metadata Date property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . MetadataDate , DateTime . Now . ToString ());
// Add Creator Tool property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . CreatorTool , "Creator Tool Name" );
// Add Modify Date to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . ModifyDate , DateTime . Now . ToString ());
// Add Nick Name to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . Nickname , "Test" );
// Save PDF document
xmpMetaData . Save ( output );
}
}
}
.NET 8
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddXmpMetadata ()
{
// The path to the documents directory
var dataDir = RunExamples . GetDataDir_AsposePdfFacades_TechnicalArticles ();
// Create an object of PdfXmpMetadata class
var xmpMetaData = new Aspose . Pdf . Facades . PdfXmpMetadata ();
// Create input and output file streams
using var input = new FileStream ( dataDir + "FilledForm.pdf" , FileMode . Open );
using var output = new FileStream ( dataDir + "xmp_out.pdf" , FileMode . Create );
// Bind PDF document
xmpMetaData . BindPdf ( input );
// Add base URL property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . BaseURL , "xmlns:pdf=http:// Ns.adobe.com/pdf/1.3/" );
// Add creation date property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . CreateDate , DateTime . Now . ToString ());
// Add Metadata Date property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . MetadataDate , DateTime . Now . ToString ());
// Add Creator Tool property to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . CreatorTool , "Creator Tool Name" );
// Add Modify Date to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . ModifyDate , DateTime . Now . ToString ());
// Add Nick Name to xmp metadata
xmpMetaData . Add ( Aspose . Pdf . Facades . DefaultMetadataProperties . Nickname , "Test" );
// Save PDF document
xmpMetaData . Save ( output );
}