확장 가능한 메타데이터 플랫폼 - XMP
확장 가능한 메타데이터 플랫폼(XMP)은 Adobe Systems Inc.에서 만든 표준입니다. 이 표준은 표준화된 메타데이터와 독점 메타데이터를 처리하고 저장하기 위해 개발되었습니다. 이 메타데이터는 다양한 파일 형식에 삽입될 수 있지만, 이 기사에서는 PDF 파일 형식에만 집중하겠습니다. Aspose.Pdf.Facades 네임스페이스를 사용하여 PDF 파일에 메타데이터를 삽입하는 방법을 살펴보겠습니다. PDF 문서에서 XMP를 조작하기 위해
PdfXmpMetadata 클래스를 사용할 것입니다.
배경
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 );
}