Bearbeiten Sie Metadaten von PDF-Dateien mit Java

Die Metadaten eines Dokuments enthalten grundlegende Informationen über das Dokument in Form von Eigenschaften wie Titel, Autor, Thema, Schlüsselwörter usw. Die Extensible Metadata Platform (XMP) ist ein XML-basierter Standard zum Speichern von Dokumentmetadaten als Schlüssel/Wert Paar. Wir können die Dokumentinformationen und XMP-Metadaten eines PDF-Dokuments programmgesteuert hinzufügen, bearbeiten oder lesen. In diesem Artikel erfahren Sie, wie Sie PDF-Eigenschaften und Metadaten mit Java bearbeiten.

Folgende Themen sollen in diesem Artikel behandelt werden:

Java-API zum Bearbeiten von PDF-Eigenschaften und Metadaten

Um PDF-Eigenschaften und Metadateninformationen zu bearbeiten, verwenden wir Aspose.PDF for Java 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 JAR-Datei der API herunterladen oder die folgende pom.xml-Konfiguration in einer Maven-basierten Java-Anwendung hinzufügen.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.3</version>
</dependency>

PDF-Eigenschaften mit Java bearbeiten

Wir können PDF-Dokumentinformationen mit der Klasse PdfFileInfo 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 PdfFileInfo.
  2. Stellen Sie verschiedene Eigenschaften wie Autor, Ersteller, Schlüsselwörter, Betreff, Titel usw. ein.
  3. Speichern Sie abschließend die PDF-Datei mit der Methode saveNewInfo() mit dem Ausgabedateipfad als Argument.

Das folgende Codebeispiel zeigt, wie Metaeigenschaften einer PDF-Datei mit Java bearbeitet werden.

// Dieses Codebeispiel zeigt, wie die grundlegenden Informationen eines PDF-Dokuments festgelegt werden.
// Open-Source-Dokument
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\sample.pdf");

// PDF-Informationen festlegen
fileInfo.setAuthor("Aspose");
fileInfo.setTitle("Editing Metadata");
fileInfo.setKeywords("Aspose.Pdf, DOM, API");
fileInfo.setSubject("PDF Information");
fileInfo.setCreator("Aspose");

// Aktualisierte Datei speichern
fileInfo.saveNewInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");
Bearbeiten Sie die Meta-Eigenschaften einer PDF-Datei in Java.

Bearbeiten Sie die Meta-Eigenschaften einer PDF-Datei in Java.

PDF-Eigenschaften mit Java lesen

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 PdfFileInfo.
  2. Zeigen Sie schließlich die Dokumentinformationen an, indem Sie die Werte der Metaeigenschaften lesen.

Das folgende Codebeispiel zeigt, wie Metaeigenschaften einer PDF-Datei mit Java abgerufen werden.

// Dieses Codebeispiel zeigt, wie Sie die grundlegenden Informationen eines PDF-Dokuments erhalten.
// Dokument öffnen
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

// PDF-Informationen erhalten
System.out.println("Subject :" + fileInfo.getSubject());
System.out.println("Title :" + fileInfo.getTitle());
System.out.println("Keywords :" + fileInfo.getKeywords());
System.out.println("Creator :" + fileInfo.getCreator());
System.out.println("Creation Date :" + fileInfo.getCreationDate());
System.out.println("Modification Date :" + fileInfo.getModDate());

// Finden Sie heraus, ob es sich um ein gültiges PDF handelt und es auch verschlüsselt ist
System.out.println("Is Valid PDF :" + fileInfo.isPdfFile());
// Falls die Datei verschlüsselt ist, müssen Sie das Passwort zum Öffnen der Datei angeben
// als zweites Argument für den PdfFileInfo-Konstruktor
System.out.println("Is Encrypted :" + fileInfo.isEncrypted());
Subject :PDF Information
Title :Editing Metadata
Keywords :Aspose.Pdf, DOM, API
Creator :Aspose
Creation Date :D:20170612160123-04'00'
Modification Date :D:20220405214422+05'00'
Is Valid PDF :true
Is Encrypted :false

Holen Sie sich XMP-Metadaten einer PDF-Datei in Java

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 schließlich Metadaten mit der Methode getItem() der Klasse Metadata und extrahieren Sie die Informationen.

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

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

// Eigenschaften erhalten
System.out.println("xmp:CreateDate: " + pdfDocument.getMetadata().get_Item("xmp:CreateDate"));
System.out.println("xmp:Nickname: " + pdfDocument.getMetadata().get_Item("xmp:Nickname"));
System.out.println("xmp:CustomProperty: " + pdfDocument.getMetadata().get_Item("xmp:CustomProperty"));
xmp:CreateDate : 2022-04-05T10:05:24.4
xmp:Nickname : Nickname
xmp:CustomProperty : Custom Value

Legen Sie XMP-Metadaten in einer PDF-Datei in Java fest

Wir können die XMP-Metadaten in einer PDF-Datei 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 Methode setItem() der Klasse 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 Java festgelegt werden.

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

// Eigenschaften festlegen
pdfDocument.getMetadata().set_Item("xmp:CreateDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("xmp:Nickname", new XmpValue("Nickname"));
pdfDocument.getMetadata().set_Item("xmp:CustomProperty", new XmpValue("Custom Value"));

// Dokument speichern
pdfDocument.save("D:\\Files\\PDF\\SetXMPMetadata.pdf");

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

Wir können den benutzerdefinierten Namensraum-URI anstelle von definierten 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 Methode registerNamespaceUri() mit einem Präfix und einem Namespace-URI als Argumente auf.
  3. Legen Sie dann Metadatenwerte mit der Methode setItem() fest.
  4. Speichern Sie abschließend die PDF-Datei mit der Methode Document.Save() mit dem Pfad der Ausgabedatei als Argument.

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

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

// Legen Sie benutzerdefinierte Eigenschaften fest
pdfDocument.getMetadata().registerNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.getMetadata().set_Item("myown:ModifyDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:CreateDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:DeveloperName", new XmpValue("Developer Name"));
pdfDocument.getMetadata().set_Item("myown:MyProperty", new XmpValue("My Custom Value"));

// Dokument speichern
pdfDocument.save("D:\\Files\\PDF\\CustomizedXMPMetadata.pdf");

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

NamespaceUri: http:// myown.xyz.com/xap/1.0/
myown:ModifyDate: 2022-04-05T10:18:45.9
myown:CreateDate: 2022-04-05T10:18:45.9
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 Java hinzufügen/bearbeiten;
  • set/hole die XMP-Metadaten in einer PDF-Datei mit Java;
  • 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 Java-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch