Bearbeiten Sie Metadaten von PDF-Dateien mit C#

Metadaten sind eine Visitenkarte eines bestimmten digitalen Dokuments, das aus einer Reihe von Eigenschaften besteht. Diese Eigenschaften enthalten grundlegende Informationen über das Dokument wie Titel, Autor, Thema, Schlüsselwörter usw. Extensible Metadata Platform (XMP) ist ein XML-basiertes Format, das es ermöglicht, die Metadaten des Dokuments in einem Schlüssel/Wert-Paar zu speichern. Wir können Dokumentinformationen und XMP-Metadaten in einem PDF-Dokument programmgesteuert hinzufügen/bearbeiten. In diesem Artikel erfahren Sie, wie Sie die Metadaten von PDF-Dateien mit C# bearbeiten.

Folgende Themen sollen in diesem Artikel behandelt werden:

C#-API zum Bearbeiten von Metadaten von PDF-Dateien

Um Metadateninformationen in einem PDF-Dokument zu bearbeiten, verwenden wir Aspose.PDF for .NET API. Es ermöglicht uns, unterstützte Dokumente ohne Verwendung von Adobe Acrobat zu generieren, zu ändern, zu konvertieren, zu rendern, zu sichern und zu drucken. Bitte entweder die DLL der API herunterladen oder sie mit NuGet installieren.

PM> Install-Package Aspose.Pdf

Metadaten einer PDF-Datei in C# bearbeiten

Wir können PDF-Dokumentinformationen mit der Klasse DocumentInfo bearbeiten, die die Metainformationen eines PDF-Dokuments darstellt. Wir können verschiedene vordefinierte Eigenschaften festlegen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst ein PDF-Dokument mit der Klasse Document.
  2. Erstellen Sie als Nächstes eine Instanz der Klasse DocumentInfo mit dem Klassenobjekt Document als Argument.
  3. Legen Sie dann verschiedene Eigenschaften wie Autor, Erstellungsdatum, Schlüsselwörter, Betreff, Titel usw. fest.
  4. Speichern Sie abschließend die PDF-Datei mit der Methode Document.Save() mit dem Ausgabedateipfad als Argument.

Das folgende Codebeispiel zeigt, wie Metadaten einer PDF-Datei mit C# bearbeitet werden.

// Dieses Codebeispiel zeigt, wie die grundlegenden Informationen eines PDF-Dokuments festgelegt werden.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Initialisieren Sie das DocumentInfo-Objekt
DocumentInfo docInfo = new DocumentInfo(pdfDocument);

// Geben Sie Dokumentinformationseigenschaften an
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";

// Dokument speichern
pdfDocument.Save("C:\\Files\\PDF\\sample_metadata.pdf");
Bearbeiten Sie Metadaten einer PDF-Datei in C#.

Bearbeiten Sie Metadaten einer PDF-Datei in C#.

Abrufen von Metadaten einer PDF-Datei mit C#

Wir können die grundlegenden Informationen eines PDF-Dokuments lesen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst ein PDF-Dokument mit der Klasse Document.
  2. Erstellen Sie als Nächstes eine Instanz der Klasse DocumentInfo mit dem Klassenobjekt Document als Argument.
  3. Zeigen Sie schließlich die Dokumentinformationen an, indem Sie die Werte der Metadateneigenschaften lesen.

Das folgende Codebeispiel zeigt, wie Metadaten einer PDF-Datei mit C# abgerufen werden.

// Dieses Codebeispiel zeigt, wie Sie die grundlegenden Informationen eines PDF-Dokuments erhalten.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_metadata.pdf");

// Dokumentinformationen erhalten
DocumentInfo docInfo = pdfDocument.Info;

// Dokumentinformationen anzeigen
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

Abrufen von XMP-Metadaten einer PDF-Datei mit C#

Wir können die XMP-Metadaten eines PDF-Dokuments lesen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst ein PDF-Dokument mit der Klasse Document.
  2. Lesen Sie abschließend die Eigenschaft Metadata und extrahieren Sie die Informationen.

Das folgende Codebeispiel zeigt, wie XMP-Metadaten einer PDF-Datei mit C# abgerufen werden.

// Dieses Codebeispiel zeigt, wie Sie die XMP-Metadaten eines PDF-Dokuments abrufen.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\PDF\\sample_xmp.pdf");

// XMP-Informationen anzeigen
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

Festlegen von XMP-Metadaten in einer PDF-Datei mit C#

Wir können die XMP-Metadaten in einer PDF-Datei mit der Eigenschaft Metadata der Klasse Document festlegen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst ein PDF-Dokument mit der Klasse Document.
  2. Legen Sie als Nächstes Metadatenwerte mit der Eigenschaft Metadata fest.
  3. Speichern Sie abschließend die PDF-Datei mit der Methode Document.Save() mit dem Ausgabedateipfad als Argument.

Das folgende Codebeispiel zeigt, wie XMP-Metadaten einer PDF-Datei mit C# festgelegt werden.

// Dieses Codebeispiel zeigt, wie Sie die XMP-Metadaten eines PDF-Dokuments festlegen.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

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

// Dokument speichern
pdfDocument.Save("C:\\Files\\PDF\\sample_xmp.pdf");

Passen Sie den XMP-Metadaten-Namespace in einer PDF-Datei an

Wir können auch den benutzerdefinierten Namensraum-URI anstelle definierter XMP-Spezifikationen in einer PDF-Datei festlegen. Zu diesem Zweck stellt die API die Methode RegisterNamespaceUri in der Klasse Metadata bereit. Wir können einen neuen Metadaten-Namespace mit einem Präfix erstellen, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst ein PDF-Dokument mit der Klasse Document.
  2. Rufen Sie als Nächstes die RegisterNamespaceUri-Methode mit einem Präfix und einem Namespace-URI als Argumente auf.
  3. Legen Sie dann Metadatenwerte mit der Eigenschaft Metadata fest.
  4. Speichern Sie abschließend die PDF-Datei mit der Methode Document.Save() mit dem Ausgabedateipfad als Argument.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# einen benutzerdefinierten Metadaten-Namespace in einer PDF-Datei festlegen.

// Dieses Codebeispiel zeigt, wie Sie den benutzerdefinierten Namensraum-URI in einem PDF-Dokument festlegen.
// Dokument öffnen
Document pdfDocument = new Document("C:\\Files\\PDF\\sample.pdf");

// Eigenschaften festlegen
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";


// Dokument speichern
pdfDocument.Save("C:\\Files\\PDF\\sample_myown.pdf");

Wir können die benutzerdefinierten XMP-Metadateneigenschaften lesen, indem wir die zuvor erwähnten Schritte ausführen.

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

Holen Sie sich eine kostenlose API-Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben wir gelernt, wie man:

  • grundlegende Informationen eines PDF-Dokuments mit C# hinzufügen/bearbeiten;
  • set/hole die XMP-Metadaten in einer PDF-Datei mit C#;
  • Legen Sie den benutzerdefinierten Metadaten-Namespace-URI mit einem Präfix fest.

Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.PDF für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch