Modifica i metadati dei file PDF utilizzando Java

I metadati di un documento contengono informazioni di base sul documento sotto forma di proprietà come titolo, autore, oggetto, parole chiave, ecc. L’Extensible Metadata Platform (XMP) è uno standard basato su XML per la memorizzazione dei metadati del documento come chiave/valore coppia. Possiamo aggiungere, modificare o leggere le informazioni sul documento e i metadati XMP di un documento PDF in modo programmatico. In questo articolo impareremo come modificare le proprietà e i metadati dei PDF utilizzando Java.

In questo articolo verranno trattati i seguenti argomenti:

API Java per modificare proprietà e metadati PDF

Per modificare le proprietà e le informazioni sui metadati PDF, utilizzeremo Aspose.PDF per Java API. Ci consente di generare, modificare, convertire, eseguire il rendering, proteggere e stampare documenti supportati senza utilizzare Adobe Acrobat. Si prega di scaricare il JAR dell’API o aggiungere la seguente configurazione pom.xml in un’applicazione Java basata su Maven.

<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>

Modifica le proprietà del PDF utilizzando Java

Possiamo modificare le informazioni sui documenti PDF utilizzando la classe PdfFileInfo 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 PdfFileInfo.
  2. Imposta varie proprietà come Autore, Creatore, Parole chiave, Oggetto, Titolo, ecc.
  3. Infine, salva il file PDF utilizzando il metodo saveNewInfo() con il percorso del file di output come argomento.

L’esempio di codice seguente mostra come modificare le metaproprietà di un file PDF utilizzando Java.

// Questo esempio di codice mostra come impostare le informazioni di base di un documento PDF.
// Documento open source
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\sample.pdf");

// Imposta le informazioni PDF
fileInfo.setAuthor("Aspose");
fileInfo.setTitle("Editing Metadata");
fileInfo.setKeywords("Aspose.Pdf, DOM, API");
fileInfo.setSubject("PDF Information");
fileInfo.setCreator("Aspose");

// Salva file aggiornato
fileInfo.saveNewInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");
Modifica le meta proprietà di un file PDF in Java.

Modifica le meta proprietà di un file PDF in Java.

Leggi le proprietà PDF usando Java

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 PdfFileInfo.
  2. Infine, mostra le informazioni sul documento leggendo i valori delle meta proprietà.

L’esempio di codice seguente mostra come ottenere le metaproprietà di un file PDF utilizzando Java.

// Questo esempio di codice mostra come ottenere le informazioni di base di un documento PDF.
// Apri documento
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

// Ottieni informazioni PDF
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());

// Scopri se è un PDF valido ed è anche crittografato
System.out.println("Is Valid PDF :" + fileInfo.isPdfFile());
// nel caso in cui il file sia crittografato, è necessario fornire la password di apertura del file
// come secondo argomento del costruttore PdfFileInfo
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

Ottieni metadati XMP di un file PDF in Java

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 i metadati usando il metodo getItem() della classe Metadata ed estrai le informazioni.

L’esempio di codice seguente mostra come ottenere i metadati XMP di un file PDF utilizzando Java.

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

// Ottieni proprietà
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

Imposta i metadati XMP in un file PDF in Java

Possiamo impostare i metadati XMP in un file PDF seguendo i passaggi indicati di seguito:

  1. Innanzitutto, carica un documento PDF utilizzando la classe Document.
  2. Quindi, imposta i valori dei metadati usando il metodo setItem() della classe 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 utilizzando Java.

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

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

// Salva documento
pdfDocument.save("D:\\Files\\PDF\\SetXMPMetadata.pdf");

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

Possiamo 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 usando il metodo setItem().
  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 utilizzando Java.

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

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

// Salva documento
pdfDocument.save("D:\\Files\\PDF\\CustomizedXMPMetadata.pdf");

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

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

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 Java;
  • impostare/ ottenere i metadati XMP in un file PDF utilizzando Java;
  • imposta l’URI dello spazio dei nomi dei metadati personalizzato con un prefisso.

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

Guarda anche