Editar metadatos de archivos PDF usando C#

Los metadatos son una tarjeta de presentación de un documento digital particular que consta de un conjunto de propiedades. Estas propiedades contienen información básica sobre el documento, como título, autor, tema, palabras clave, etc. La plataforma extensible de metadatos (XMP) es un formato basado en XML que permite guardar los metadatos del documento en un par clave/valor. Podemos agregar/editar información de documentos y metadatos XMP en un documento PDF mediante programación. En este artículo, aprenderemos cómo editar los metadatos de los archivos PDF usando C#.

En este artículo se tratarán los siguientes temas:

API de C# para editar metadatos de archivos PDF

Para editar información de metadatos en un documento PDF, usaremos Aspose.PDF para .NET API. Nos permite generar, modificar, convertir, renderizar, proteger e imprimir documentos admitidos sin usar Adobe Acrobat. Descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.Pdf

Editar metadatos de un archivo PDF en C#

Podemos editar la información de un documento PDF utilizando la clase DocumentInfo que representa la metainformación de un documento PDF. Podemos establecer varias propiedades predefinidas siguiendo los pasos que se indican a continuación:

  1. En primer lugar, cargue un documento PDF utilizando la clase Documento.
  2. A continuación, cree una instancia de la clase DocumentInfo con el objeto de la clase Documento como argumento.
  3. Luego, configure varias propiedades como Autor, Fecha de creación, Palabras clave, Asunto, Título, etc.
  4. Finalmente, guarde el archivo PDF usando el método Document.Save() con la ruta del archivo de salida como argumento.

El siguiente ejemplo de código muestra cómo editar metadatos de un archivo PDF usando C#.

// Este ejemplo de código demuestra cómo configurar la información básica de un documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Inicializa objeto DocumentInfo
DocumentInfo docInfo = new DocumentInfo(pdfDocument);

// Especificar las propiedades de la información del documento
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";

// Guardar documento
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
Editar metadatos de un archivo PDF en C#.

Editar metadatos de un archivo PDF en C#.

Obtener metadatos de un archivo PDF usando C#

Podemos leer la información básica de un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un documento PDF utilizando la clase Documento.
  2. A continuación, cree una instancia de la clase DocumentInfo con el objeto de la clase Documento como argumento.
  3. Finalmente, muestre la información del documento leyendo los valores de las propiedades de los metadatos.

El siguiente ejemplo de código muestra cómo obtener metadatos de un archivo PDF mediante C#.

// Este ejemplo de código demuestra cómo obtener la información básica de un documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");

// Obtener información del documento
DocumentInfo docInfo = pdfDocument.Info;

// Mostrar información del documento
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

Obtenga metadatos XMP de un archivo PDF usando C#

Podemos leer los metadatos XMP de un documento PDF siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un documento PDF utilizando la clase Documento.
  2. Finalmente, lea la propiedad Metadata y extraiga la información.

El siguiente ejemplo de código muestra cómo obtener metadatos XMP de un archivo PDF mediante C#.

// Este ejemplo de código demuestra cómo obtener los metadatos XMP de un documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");

// Mostrar información 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

Establecer metadatos XMP en un archivo PDF usando C#

Podemos establecer los metadatos XMP en un archivo PDF utilizando la propiedad Metadata de la clase Documento siguiendo los pasos que se indican a continuación:

  1. En primer lugar, cargue un documento PDF utilizando la clase Documento.
  2. A continuación, establezca los valores de los metadatos mediante la propiedad Metadata.
  3. Finalmente, guarde el archivo PDF usando el método Document.Save() con la ruta del archivo de salida como argumento.

El siguiente ejemplo de código muestra cómo configurar metadatos XMP de un archivo PDF usando C#.

// Este ejemplo de código muestra cómo configurar los metadatos XMP de un documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Establecer propiedades
pdfDocument.Metadata["xmp:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["xmp:Nickname"] = "Nickname";
pdfDocument.Metadata["xmp:CustomProperty"] = "Custom Value";

// Guardar documento
pdfDocument.Save("C:\\Files\\PDF\\sample_xmp.pdf");

Personalice el espacio de nombres de metadatos XMP en un archivo PDF

También podemos configurar el URI del espacio de nombres personalizado en lugar de las especificaciones XMP definidas en un archivo PDF. Para ello, la API proporciona el método RegisterNamespaceUri en la clase Metadata. Podemos crear un nuevo espacio de nombres de metadatos con un prefijo siguiendo los pasos que se detallan a continuación:

  1. En primer lugar, cargue un documento PDF utilizando la clase Documento.
  2. A continuación, llame al método RegisterNamespaceUri con un prefijo y un URI de espacio de nombres como argumentos.
  3. Luego, establezca los valores de los metadatos usando la propiedad Metadata.
  4. Finalmente, guarde el archivo PDF usando el método Document.Save() con la ruta del archivo de salida como argumento.

El siguiente ejemplo de código muestra cómo establecer un espacio de nombres de metadatos personalizado en un archivo PDF usando C#.

// Este ejemplo de código demuestra cómo configurar el URI de espacio de nombre personalizado en un documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Establecer propiedades
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";


// Guardar documento
pdfDocument.Save("C:\\Files\\PDF\\sample_myown.pdf");

Podemos leer las propiedades de metadatos XMP personalizadas siguiendo los pasos mencionados anteriormente.

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

Obtenga una licencia de API gratuita

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, hemos aprendido a:

  • agregar/editar la información básica de un documento PDF usando C#;
  • establecer/obtener los metadatos XMP en un archivo PDF usando C#;
  • establecer un URI de espacio de nombres de metadatos personalizado con un prefijo.

Además, puede obtener más información sobre Aspose.PDF para la API de .NET utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también