Cómo establecer y editar metadatos PDF en C# con IronPDF
IronPDF permite a los desarrolladores establecer y editar mediante programación metadatos PDF en aplicaciones C#, incluidas propiedades estándar como título, autor y palabras clave, así como campos de metadatos personalizados para mejorar la organización y la capacidad de búsqueda de documentos. Tanto si está creando aplicaciones empresariales que requieren el seguimiento de documentos, implementando funciones de cumplimiento u organizando su biblioteca de PDF, IronPDF proporciona funciones completas de manipulación de metadatos. Esta funcionalidad se integra perfectamente con la conversión de HTML a PDF de IronPDF y otras características de procesamiento de documentos.
Inicio rápido: Modificar metadatos PDF al instante
Gestione los metadatos PDF mediante IronPDF con sólo unas líneas de código. Cargue su PDF, actualice metadatos como el título, el autor o las palabras clave y guarde los cambios. Esta guía simplifica la configuración y edición de metadatos, asegurando que tus documentos estén bien organizados y sean buscables. Mejora las capacidades de tu PDF siguiendo este enfoque sencillo.
-
Instala IronPDF con el Administrador de Paquetes NuGet
PM > Install-Package IronPdf -
Copie y ejecute este fragmento de código.
IronPdf.PdfDocument.FromFile("example.pdf") .MetaData = new IronPdf.PdfMetaData { Title="MyDoc", Author="Me", Subject="Demo", Keywords="ironpdf,metadata", Creator="MyApp", Producer="IronPDF", CreationDate=DateTime.Today, ModifiedDate=DateTime.Now } .SaveAs("updated_example.pdf"); -
Despliegue para probar en su entorno real
Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca IronPDF C# para la edición de metadatos PDF
- Carga un PDF existente o renderiza uno nuevo
- Acceda a la propiedad **MetaData** para establecer y editar los metadatos del PDF
- Utilizar el diccionario de metadatos para el procesamiento eficaz de metadatos
- Añadir, editar o eliminar propiedades personalizadas de metadatos PDF
¿Cómo configurar y editar metadatos de PDF?
Cuando se utiliza IronPDF, la configuración y edición de campos de metadatos genéricos en PDF es sencilla. Acceda a la propiedad MetaData para modificar los campos de metadatos disponibles. Esta funcionalidad es especialmente útil cuando se trabaja con formularios PDF, firmas digitales, o al implementar sistemas de gestión documental.
:path=/static-assets/pdf/content-code-examples/how-to/metadata-set-edit.cs
using IronPdf;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>");
// Access the MetaData class and set the pre-defined metadata properties.
pdf.MetaData.Author = "Iron Software";
pdf.MetaData.CreationDate = DateTime.Today;
pdf.MetaData.Creator = "IronPDF";
pdf.MetaData.Keywords = "ironsoftware,ironpdf,pdf";
pdf.MetaData.ModifiedDate = DateTime.Now;
pdf.MetaData.Producer = "IronPDF";
pdf.MetaData.Subject = "Metadata Tutorial";
pdf.MetaData.Title = "IronPDF Metadata Tutorial";
pdf.SaveAs("pdf-with-metadata.pdf");
Imports IronPdf
Imports System
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>")
' Access the MetaData class and set the pre-defined metadata properties.
pdf.MetaData.Author = "Iron Software"
pdf.MetaData.CreationDate = DateTime.Today
pdf.MetaData.Creator = "IronPDF"
pdf.MetaData.Keywords = "ironsoftware,ironpdf,pdf"
pdf.MetaData.ModifiedDate = DateTime.Now
pdf.MetaData.Producer = "IronPDF"
pdf.MetaData.Subject = "Metadata Tutorial"
pdf.MetaData.Title = "IronPDF Metadata Tutorial"
pdf.SaveAs("pdf-with-metadata.pdf")
¿Cómo puedo ver los metadatos en el PDF de salida?
Para ver los metadatos del documento, haga clic en los tres puntos verticales y acceda a Propiedades del documento. Estos metadatos son fundamentales para la organización de documentos, especialmente al implementar documentos conformes a PDF/A para archivado a largo plazo.
¿Cómo configuro y recupero el diccionario de metadatos?
El método GetMetaDataDictionary recupera el diccionario de metadatos existente y accede a la información de metadatos almacenada dentro del documento. El método SetMetaDataDictionary proporciona una forma efectiva de reescribir el diccionario de metadatos. Si una clave no está presente en los campos de metadatos genéricos, se convierte en una propiedad de metadatos personalizada. Este enfoque es especialmente útil cuando se trabaja con la combinación de múltiples archivos PDF y la consolidación de metadatos de distintas fuentes.
:path=/static-assets/pdf/content-code-examples/how-to/metadata-set-and-get-metadata-dictionary.cs
using IronPdf;
using System.Collections.Generic;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>");
Dictionary<string, string> newMetadata = new Dictionary<string, string>();
newMetadata.Add("Title", "How to article");
newMetadata.Add("Author", "IronPDF");
// Set metadata dictionary
pdf.MetaData.SetMetaDataDictionary(newMetadata);
// Retreive metadata dictionary
Dictionary<string, string> metadataProperties = pdf.MetaData.GetMetaDataDictionary();
Imports IronPdf
Imports System.Collections.Generic
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>")
Dim newMetadata As New Dictionary(Of String, String)()
newMetadata.Add("Title", "How to article")
newMetadata.Add("Author", "IronPDF")
' Set metadata dictionary
pdf.MetaData.SetMetaDataDictionary(newMetadata)
' Retrieve metadata dictionary
Dim metadataProperties As Dictionary(Of String, String) = pdf.MetaData.GetMetaDataDictionary()
¿Qué ocurre cuando utilizo el diccionario de metadatos?
Para ver los metadatos del documento, haga clic en los tres puntos verticales y acceda a Propiedades del documento. El enfoque de diccionario de metadatos es especialmente útil cuando se implementan flujos de trabajo de procesamiento por lotes o se estandarizan metadatos en varios documentos. Para escenarios avanzados de gestión documental, considere combinar esto con técnicas de compresión de PDF para optimizar el almacenamiento de archivos.
Trabajar con metadatos en diferentes contextos
En el desarrollo de aplicaciones empresariales, los metadatos desempeñan un papel crucial en la clasificación y recuperación de documentos. He aquí un ejemplo de implementación de un sistema integral de gestión de metadatos:
using IronPdf;
using System;
using System.Collections.Generic;
public class PDFMetadataManager
{
public static void ProcessBatchMetadata(List<string> pdfPaths)
{
foreach (string path in pdfPaths)
{
var pdf = PdfDocument.FromFile(path);
// Standardize metadata across all documents
pdf.MetaData.Producer = "Company Document System v2.0";
pdf.MetaData.Creator = "IronPDF";
// Add processing timestamp
pdf.MetaData.ModifiedDate = DateTime.Now;
// Add document classification
var metadata = pdf.MetaData.GetMetaDataDictionary();
metadata["DocumentType"] = "Internal Report";
metadata["Department"] = "Finance";
metadata["SecurityLevel"] = "Confidential";
pdf.MetaData.SetMetaDataDictionary(metadata);
pdf.SaveAs(path.Replace(".pdf", "_processed.pdf"));
}
}
}
using IronPdf;
using System;
using System.Collections.Generic;
public class PDFMetadataManager
{
public static void ProcessBatchMetadata(List<string> pdfPaths)
{
foreach (string path in pdfPaths)
{
var pdf = PdfDocument.FromFile(path);
// Standardize metadata across all documents
pdf.MetaData.Producer = "Company Document System v2.0";
pdf.MetaData.Creator = "IronPDF";
// Add processing timestamp
pdf.MetaData.ModifiedDate = DateTime.Now;
// Add document classification
var metadata = pdf.MetaData.GetMetaDataDictionary();
metadata["DocumentType"] = "Internal Report";
metadata["Department"] = "Finance";
metadata["SecurityLevel"] = "Confidential";
pdf.MetaData.SetMetaDataDictionary(metadata);
pdf.SaveAs(path.Replace(".pdf", "_processed.pdf"));
}
}
}
Imports IronPdf
Imports System
Imports System.Collections.Generic
Public Class PDFMetadataManager
Public Shared Sub ProcessBatchMetadata(pdfPaths As List(Of String))
For Each path As String In pdfPaths
Dim pdf = PdfDocument.FromFile(path)
' Standardize metadata across all documents
pdf.MetaData.Producer = "Company Document System v2.0"
pdf.MetaData.Creator = "IronPDF"
' Add processing timestamp
pdf.MetaData.ModifiedDate = DateTime.Now
' Add document classification
Dim metadata = pdf.MetaData.GetMetaDataDictionary()
metadata("DocumentType") = "Internal Report"
metadata("Department") = "Finance"
metadata("SecurityLevel") = "Confidential"
pdf.MetaData.SetMetaDataDictionary(metadata)
pdf.SaveAs(path.Replace(".pdf", "_processed.pdf"))
Next
End Sub
End Class
¿Cómo puedo añadir, editar y eliminar metadatos personalizados?
Además de los metadatos estándar de un documento PDF, puede incluir propiedades de metadatos personalizadas. Estas propiedades personalizadas a menudo no son visibles en el software de visualización de PDF, ya que normalmente sólo muestran metadatos genéricos y pueden no recuperar todas las propiedades de metadatos existentes. Los metadatos personalizados son especialmente valiosos al implementar funciones de seguridad de PDF o al crear flujos de trabajo de documentos especializados.
¿Cómo añado y edito propiedades de metadatos personalizadas?
Para agregar metadatos personalizados, acceda a la propiedad CustomProperties e invoque el método Add. Editar los metadatos personalizados requiere pasar el valor clave a la propiedad CustomProperties y reasignar su valor. Esta funcionalidad se integra bien con escenarios de edición de formularios PDF donde podría necesitar hacer seguimiento de los metadatos de envío de formularios.
:path=/static-assets/pdf/content-code-examples/how-to/metadata-custom-properties.cs
using IronPdf;
using IronPdf.MetaData;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>");
PdfCustomMetadataProperties customProperties = pdf.MetaData.CustomProperties;
// Add custom property
customProperties.Add("foo", "bar"); // Key: foo, Value: bar
// Edit custom property
customProperties["foo"] = "baz";
Imports IronPdf
Imports IronPdf.MetaData
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>")
Dim customProperties As PdfCustomMetadataProperties = pdf.MetaData.CustomProperties
' Add custom property
customProperties.Add("foo", "bar") ' Key: foo, Value: bar
' Edit custom property
customProperties("foo") = "baz"
Escenarios avanzados de metadatos personalizados
Los metadatos personalizados resultan especialmente útiles a la hora de crear sistemas de gestión de documentos. He aquí un ejemplo exhaustivo que demuestra el uso en el mundo real:
using IronPdf;
using System;
using System.Linq;
public class DocumentTrackingSystem
{
public static void AddTrackingMetadata(PdfDocument pdf, string userId, string projectId)
{
var customProps = pdf.MetaData.CustomProperties;
// Add tracking information
customProps.Add("ProcessedBy", userId);
customProps.Add("ProcessedDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
customProps.Add("ProjectID", projectId);
customProps.Add("DocumentVersion", "1.0");
customProps.Add("ReviewStatus", "Pending");
// Add workflow metadata
customProps.Add("WorkflowStep", "Initial Review");
customProps.Add("NextReviewer", "John.Doe@company.com");
customProps.Add("DueDate", DateTime.Now.AddDays(7).ToString("yyyy-MM-dd"));
// Add compliance metadata
customProps.Add("ComplianceChecked", "false");
customProps.Add("RetentionPeriod", "7 years");
customProps.Add("Classification", "Internal Use Only");
}
public static void UpdateReviewStatus(PdfDocument pdf, string status, string reviewer)
{
var customProps = pdf.MetaData.CustomProperties;
// Update existing properties
customProps["ReviewStatus"] = status;
customProps["LastReviewedBy"] = reviewer;
customProps["LastReviewDate"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
// Increment version if approved
if (status == "Approved" && customProps.ContainsKey("DocumentVersion"))
{
var currentVersion = customProps["DocumentVersion"];
var versionParts = currentVersion.Split('.');
var minorVersion = int.Parse(versionParts[1]) + 1;
customProps["DocumentVersion"] = $"{versionParts[0]}.{minorVersion}";
}
}
}
using IronPdf;
using System;
using System.Linq;
public class DocumentTrackingSystem
{
public static void AddTrackingMetadata(PdfDocument pdf, string userId, string projectId)
{
var customProps = pdf.MetaData.CustomProperties;
// Add tracking information
customProps.Add("ProcessedBy", userId);
customProps.Add("ProcessedDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
customProps.Add("ProjectID", projectId);
customProps.Add("DocumentVersion", "1.0");
customProps.Add("ReviewStatus", "Pending");
// Add workflow metadata
customProps.Add("WorkflowStep", "Initial Review");
customProps.Add("NextReviewer", "John.Doe@company.com");
customProps.Add("DueDate", DateTime.Now.AddDays(7).ToString("yyyy-MM-dd"));
// Add compliance metadata
customProps.Add("ComplianceChecked", "false");
customProps.Add("RetentionPeriod", "7 years");
customProps.Add("Classification", "Internal Use Only");
}
public static void UpdateReviewStatus(PdfDocument pdf, string status, string reviewer)
{
var customProps = pdf.MetaData.CustomProperties;
// Update existing properties
customProps["ReviewStatus"] = status;
customProps["LastReviewedBy"] = reviewer;
customProps["LastReviewDate"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
// Increment version if approved
if (status == "Approved" && customProps.ContainsKey("DocumentVersion"))
{
var currentVersion = customProps["DocumentVersion"];
var versionParts = currentVersion.Split('.');
var minorVersion = int.Parse(versionParts[1]) + 1;
customProps["DocumentVersion"] = $"{versionParts[0]}.{minorVersion}";
}
}
}
Imports IronPdf
Imports System
Imports System.Linq
Public Class DocumentTrackingSystem
Public Shared Sub AddTrackingMetadata(pdf As PdfDocument, userId As String, projectId As String)
Dim customProps = pdf.MetaData.CustomProperties
' Add tracking information
customProps.Add("ProcessedBy", userId)
customProps.Add("ProcessedDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
customProps.Add("ProjectID", projectId)
customProps.Add("DocumentVersion", "1.0")
customProps.Add("ReviewStatus", "Pending")
' Add workflow metadata
customProps.Add("WorkflowStep", "Initial Review")
customProps.Add("NextReviewer", "John.Doe@company.com")
customProps.Add("DueDate", DateTime.Now.AddDays(7).ToString("yyyy-MM-dd"))
' Add compliance metadata
customProps.Add("ComplianceChecked", "false")
customProps.Add("RetentionPeriod", "7 years")
customProps.Add("Classification", "Internal Use Only")
End Sub
Public Shared Sub UpdateReviewStatus(pdf As PdfDocument, status As String, reviewer As String)
Dim customProps = pdf.MetaData.CustomProperties
' Update existing properties
customProps("ReviewStatus") = status
customProps("LastReviewedBy") = reviewer
customProps("LastReviewDate") = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
' Increment version if approved
If status = "Approved" AndAlso customProps.ContainsKey("DocumentVersion") Then
Dim currentVersion = customProps("DocumentVersion")
Dim versionParts = currentVersion.Split("."c)
Dim minorVersion = Integer.Parse(versionParts(1)) + 1
customProps("DocumentVersion") = $"{versionParts(0)}.{minorVersion}"
End If
End Sub
End Class
¿Cómo elimino las propiedades de metadatos personalizados?
Elimine metadatos personalizados de un documento PDF de dos maneras. Utilice el método RemoveMetaDataKey, accesible a través de la propiedad Metadata, o utilice el método Remove de la propiedad CustomProperties . Esto resulta especialmente útil al depurar PDFs para distribución pública o al preparar documentos para archivado.
:path=/static-assets/pdf/content-code-examples/how-to/metadata-remove-custom-properties.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>");
// Add custom property to be deleted
pdf.MetaData.CustomProperties.Add("willBeDeleted", "value");
// Remove custom property _ two ways
pdf.MetaData.RemoveMetaDataKey("willBeDeleted");
pdf.MetaData.CustomProperties.Remove("willBeDeleted");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Metadata</h1>")
' Add custom property to be deleted
pdf.MetaData.CustomProperties.Add("willBeDeleted", "value")
' Remove custom property _ two ways
pdf.MetaData.RemoveMetaDataKey("willBeDeleted")
pdf.MetaData.CustomProperties.Remove("willBeDeleted")
Introducción
Los metadatos PDF son la columna vertebral de los sistemas de gestión de documentos, ya que permiten una organización eficaz, la posibilidad de realizar búsquedas y el seguimiento del cumplimiento de normativas. Las funciones de metadatos de IronPDF van más allá de la simple configuración de propiedades: proporcionan un marco completo para crear flujos de trabajo de documentos sofisticados. Ya sea implementando documentos conformes con PDF/UA para accesibilidad o creando sistemas de seguimiento personalizados, la gestión de metadatos es esencial.
Mejores prácticas para la gestión de metadatos
- Consistencia: Establecer convenciones de nomenclatura para las claves de metadatos personalizadas
- Documentación: Mantener un registro de campos de metadatos personalizados utilizados en su sistema
- Validación: Implementar reglas de validación antes de establecer valores de metadatos
- Seguridad: Evita almacenar información sensible en los metadatos a menos que el PDF esté encriptado
- Cumplimiento: Asegúrese de que los metadatos cumplen los requisitos normativos de su sector
Al aprovechar las capacidades de metadatos de IronPDF junto con funciones como firmas digitales y cifrado de PDF, puede crear soluciones robustas de gestión documental que satisfagan los requisitos empresariales.
¿Listo para ver qué más puedes hacer? Consulta nuestra página de tutorial aquí: Firmar y Asegurar PDFs
Preguntas Frecuentes
¿Cómo establezco propiedades de metadatos PDF como título y autor en C#?
Con IronPDF, puede establecer fácilmente metadatos PDF accediendo a la propiedad MetaData de su documento PDF. Simplemente asigne un nuevo objeto PdfMetaData con propiedades como Título, Autor, Asunto, Palabras clave, Creador y fechas. IronPDF facilita la actualización de estos campos de metadatos estándar mediante programación.
¿Puedo añadir campos de metadatos personalizados a los PDF además de las propiedades estándar?
Sí, IronPDF admite campos de metadatos personalizados a través del diccionario de metadatos. Utilizando el método SetMetaDataDictionary, puede añadir cualquier par clave-valor más allá de los campos estándar. Si una clave no coincide con los campos de metadatos genéricos, IronPDF la trata automáticamente como metadatos personalizados.
¿Cómo puedo recuperar los metadatos existentes en un documento PDF?
IronPDF proporciona el método GetMetaDataDictionary para recuperar todos los metadatos existentes de un documento PDF. Este método devuelve un diccionario que contiene campos de metadatos estándar y personalizados, lo que permite acceder a la información de metadatos almacenada en el documento y procesarla.
¿Qué campos de metadatos estándar se pueden editar?
IronPDF admite todos los campos de metadatos PDF estándar, incluidos Título, Autor, Asunto, Palabras clave, Creador, Productor, Fecha de creación y Fecha de modificación. Estos campos pueden establecerse a través del objeto PdfMetaData y son esenciales para la organización y búsqueda de documentos.
¿Cómo puedo ver los metadatos después de configurarlos en el PDF?
Después de utilizar IronPDF para establecer los metadatos, puede visualizarlos en cualquier lector de PDF accediendo a las propiedades del documento. En la mayoría de los visores de PDF, haga clic en los tres puntos verticales o vaya al menú Archivo y seleccione Propiedades del documento para ver todos los campos de metadatos, incluidos los establecidos mediante programación.
¿Se puede combinar la manipulación de metadatos con otras operaciones de PDF?
Por supuesto IronPDF permite combinar la edición de metadatos con otras funciones como la conversión de HTML a PDF, la creación de formularios PDF y las firmas digitales. Esto lo hace ideal para crear sistemas completos de gestión de documentos o funciones de cumplimiento de normativas.

