Modifica i metadati dei file PDF utilizzando C#

I metadati sono un biglietto da visita di un particolare documento digitale costituito da un insieme di proprietà. Queste proprietà contengono informazioni di base sul documento come titolo, autore, oggetto, parole chiave, ecc. Extensible Metadata Platform (XMP) è un formato basato su XML che consente di salvare i metadati del documento in una coppia chiave/valore. Possiamo aggiungere/modificare le informazioni sui documenti e i metadati XMP in un documento PDF in modo programmatico. In questo articolo impareremo come modificare i metadati dei file PDF utilizzando C#.

In questo articolo verranno trattati i seguenti argomenti:

API C# per modificare i metadati dei file PDF

Per modificare le informazioni sui metadati in un documento PDF, utilizzeremo Aspose.PDF for .NET API. Ci consente di generare, modificare, convertire, rendere, proteggere e stampare documenti supportati senza utilizzare Adobe Acrobat. Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.Pdf

Modifica i metadati di un file PDF in C#

Possiamo modificare le informazioni sui documenti PDF utilizzando la classe DocumentInfo che rappresenta le meta-informazioni di un documento PDF. Possiamo impostare varie proprietà predefinite seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento PDF utilizzando la classe Document.
  2. Quindi, crea un’istanza della classe DocumentInfo con l’oggetto della classe Document come argomento.
  3. Quindi, imposta varie proprietà come Autore, Data di creazione, Parole chiave, Oggetto, Titolo, ecc.
  4. Infine, salva il file PDF utilizzando il metodo Document.Save() con il percorso del file di output come argomento.

L’esempio di codice seguente mostra come modificare i metadati di un file PDF usando C#.

// Questo esempio di codice mostra come impostare le informazioni di base di un documento PDF.
// Apri documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Inizializza oggetto DocumentInfo
DocumentInfo docInfo = new DocumentInfo(pdfDocument);

// Specificare le proprietà delle informazioni sul 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";

// Salva documento
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
Modifica i metadati di un file PDF in C#.

Modifica i metadati di un file PDF in C#.

Ottieni metadati di un file PDF usando C#

Possiamo leggere le informazioni di base di un documento PDF seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento PDF utilizzando la classe Document.
  2. Quindi, crea un’istanza della classe DocumentInfo con l’oggetto della classe Document come argomento.
  3. Infine, mostra le informazioni sul documento leggendo i valori delle proprietà dei metadati.

L’esempio di codice seguente mostra come ottenere i metadati di un file PDF usando C#.

// Questo esempio di codice mostra come ottenere le informazioni di base di un documento PDF.
// Apri documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");

// Ottieni informazioni sul documento
DocumentInfo docInfo = pdfDocument.Info;

// Mostra le informazioni sul 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

Ottieni metadati XMP di un file PDF usando C#

Possiamo leggere i metadati XMP di un documento PDF seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento PDF utilizzando la classe Document.
  2. Infine, leggi la proprietà Metadata ed estrai le informazioni.

L’esempio di codice seguente mostra come ottenere i metadati XMP di un file PDF usando C#.

// Questo esempio di codice mostra come ottenere i metadati XMP di un documento PDF.
// Apri documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");

// Mostra informazioni 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

Imposta i metadati XMP in un file PDF usando C#

Possiamo impostare i metadati XMP in un file PDF utilizzando la proprietà Metadata della classe Document seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento PDF utilizzando la classe Document.
  2. Quindi, imposta i valori dei metadati utilizzando la proprietà Metadata.
  3. Infine, salva il file PDF utilizzando il metodo Document.Save() con il percorso del file di output come argomento.

L’esempio di codice seguente mostra come impostare i metadati XMP di un file PDF usando C#.

// Questo esempio di codice mostra come impostare i metadati XMP di un documento PDF.
// Apri documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Imposta proprietà
pdfDocument.Metadata["xmp:CreateDate"] = DateTime.Now;
pdfDocument.Metadata["xmp:Nickname"] = "Nickname";
pdfDocument.Metadata["xmp:CustomProperty"] = "Custom Value";

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

Personalizza lo spazio dei nomi dei metadati XMP in un file PDF

Possiamo anche impostare l’URI dello spazio dei nomi personalizzato invece delle specifiche XMP definite in un file PDF. A tale scopo, l’API fornisce il metodo RegisterNamespaceUri nella classe Metadata. Possiamo creare un nuovo spazio dei nomi di metadati con un prefisso seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento PDF utilizzando la classe Document.
  2. Quindi, chiama il metodo RegisterNamespaceUri con un prefisso e l’URI dello spazio dei nomi come argomenti.
  3. Quindi, imposta i valori dei metadati utilizzando la proprietà Metadata.
  4. Infine, salva il file PDF utilizzando il metodo Document.Save() con il percorso del file di output come argomento.

L’esempio di codice seguente mostra come impostare lo spazio dei nomi dei metadati personalizzato in un file PDF usando C#.

// Questo esempio di codice mostra come impostare l'URI namepsace personalizzato in un documento PDF.
// Apri documento
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Imposta proprietà
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";


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

Possiamo leggere le proprietà dei metadati XMP personalizzate seguendo i passaggi menzionati in precedenza.

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

Ottieni una licenza API gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo abbiamo imparato a:

  • aggiungere/modificare le informazioni di base di un documento PDF utilizzando C#;
  • impostare/ ottenere i metadati XMP in un file PDF utilizzando C#;
  • imposta l’URI dello spazio dei nomi dei metadati personalizzato con un prefisso.

Inoltre, puoi saperne di più su Aspose.PDF per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche