Editar metadados de arquivos PDF usando C#

Metadados é um cartão de visita de um determinado documento digital que consiste em um conjunto de propriedades. Essas propriedades contêm informações básicas sobre o documento, como título, autor, assunto, palavras-chave, etc. A Extensible Metadata Platform (XMP) é um formato baseado em XML que permite salvar os metadados do documento em um par chave/valor. Podemos adicionar/editar informações do documento e metadados XMP em um documento PDF programaticamente. Neste artigo, aprenderemos como editar os metadados de arquivos PDF usando C#.

Os seguintes tópicos serão abordados neste artigo:

API C# para editar metadados de arquivos PDF

Para editar informações de metadados em um documento PDF, usaremos Aspose.PDF for .NET API. Ele nos permite gerar, modificar, converter, renderizar, proteger e imprimir documentos suportados sem usar o Adobe Acrobat. Por favor, baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.Pdf

Editar metadados de um arquivo PDF em C#

Podemos editar as informações do documento PDF usando a classe DocumentInfo que representa a meta-informação de um documento PDF. Podemos definir várias propriedades predefinidas seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document.
  2. Em seguida, crie uma instância da classe DocumentInfo com o objeto da classe Document como argumento.
  3. Em seguida, defina várias propriedades, como Author, CreationDate, Keywords, Subject, Title, etc.
  4. Por fim, salve o arquivo PDF usando o método Document.Save() com o caminho do arquivo de saída como argumento.

O exemplo de código a seguir mostra como editar metadados de um arquivo PDF usando C#.

// Este exemplo de código demonstra como definir as informações básicas de um documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Inicializar o objeto DocumentInfo
DocumentInfo docInfo = new DocumentInfo(pdfDocument);

// Especificar propriedades de informações do 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";

// Salvar documento
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
Edite metadados de um arquivo PDF em C#.

Edite metadados de um arquivo PDF em C#.

Obter metadados de um arquivo PDF usando C#

Podemos ler as informações básicas de um documento PDF seguindo os passos abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document.
  2. Em seguida, crie uma instância da classe DocumentInfo com o objeto da classe Document como argumento.
  3. Por fim, mostre as informações do documento lendo os valores das propriedades dos metadados.

O exemplo de código a seguir mostra como obter metadados de um arquivo PDF usando C#.

// Este exemplo de código demonstra como obter as informações básicas de um documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");

// Obter informações do documento
DocumentInfo docInfo = pdfDocument.Info;

// Mostrar informações do 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

Obtenha metadados XMP de um arquivo PDF usando C#

Podemos ler os metadados XMP de um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document.
  2. Por fim, leia a propriedade Metadados e extraia as informações.

O exemplo de código a seguir mostra como obter metadados XMP de um arquivo PDF usando C#.

// Este exemplo de código demonstra como obter os metadados XMP de um documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");

// Mostrar informações 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

Definir metadados XMP em um arquivo PDF usando C#

Podemos definir os metadados XMP em um arquivo PDF usando a propriedade Metadata da classe Document seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document.
  2. Em seguida, defina os valores de metadados usando a propriedade Metadados.
  3. Por fim, salve o arquivo PDF usando o método Document.Save() com o caminho do arquivo de saída como argumento.

O exemplo de código a seguir mostra como definir metadados XMP de um arquivo PDF usando C#.

// Este exemplo de código demonstra como definir os metadados XMP de um documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

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

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

Personalizar namespace de metadados XMP em um arquivo PDF

Também podemos definir o URI do namespace personalizado em vez das especificações XMP definidas em um arquivo PDF. Para isso, a API fornece o método RegisterNamespaceUri na classe Metadata. Podemos criar um novo namespace de metadados com um prefixo seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document.
  2. Em seguida, chame o método RegisterNamespaceUri com um prefixo e URI de namespace como argumentos.
  3. Em seguida, defina os valores de metadados usando a propriedade Metadados.
  4. Por fim, salve o arquivo PDF usando o método Document.Save() com o caminho do arquivo de saída como argumento.

O exemplo de código a seguir mostra como definir o namespace de metadados personalizado em um arquivo PDF usando C#.

// Este exemplo de código demonstra como definir o URI namepsace personalizado em um documento PDF.
// Abrir documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Definir propriedades
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";


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

Podemos ler as propriedades de metadados XMP personalizadas seguindo as etapas mencionadas 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

Obtenha uma licença de API gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, aprendemos como:

  • adicionar/editar as informações básicas de um documento PDF usando C#;
  • defina/ obtenha os metadados XMP em um arquivo PDF usando C#;
  • defina o URI de namespace de metadados personalizado com um prefixo.

Além disso, você pode aprender mais sobre Aspose.PDF para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também