Come lavorare con il modello oggetto Pdf in Java

Come lavorare con il modello oggetto Pdf in Java

Accedi al catalogo del documento

Il catalogo PDF è la radice dell’albero degli oggetti del documento ed è rappresentato come un PdfDictionary. Accedilo tramite Document.getCatalog() per ispezionare o modificare le proprietà a livello di documento:

try (Document doc = new Document("input.pdf")) {
    PdfDictionary catalog = doc.getCatalog();
    // Inspect catalog entries
}

Lavora con PdfDictionary

PdfDictionary è il contenitore fondamentale chiave-valore in questo modello di oggetti PDF di basso livello. Usa PdfName.of() per creare chiavi nome e memorizzare valori di qualsiasi tipo di oggetto Pdf:

PdfDictionary dict = new PdfDictionary();
dict.set(PdfName.of("Title"), new PdfString("My Document"));
PdfString title = (PdfString) dict.get(PdfName.of("Title"));
System.out.println(title.getString());

Lavora con PdfArray

PdfArray è il tipo di sequenza ordinata in questo modello di oggetti. Gli elementi sono indicizzati a partire da zero e possono contenere qualsiasi combinazione di tipi di oggetti Pdf. Recupera i valori e castali al tipo appropriato:

PdfArray array = new PdfArray();
array.add(PdfInteger.valueOf(100));
array.add(PdfInteger.valueOf(200));
array.add(PdfInteger.valueOf(300));
System.out.println("Array length: " + array.size());
int first = ((PdfInteger) array.get(0)).intValue(); // 100

Accedi al dizionario Trailer

Il dizionario del trailer PDF contiene la posizione della tabella di riferimento incrociato e i riferimenti al catalogo del documento (/Root) e al dizionario delle informazioni del documento (/Info):

try (Document doc = new Document("input.pdf")) {
    PdfDictionary trailer = doc.getTrailer();
    // Trailer contains /Root, /Info, /Encrypt entries
}

Albero dei Numeri Nominati

Il modello di oggetti sottostante della specifica PDF (ciò che ISO 32000-1 chiama il livello COS) espone la struttura ad albero dei nomi PDF usata per gli alberi di numeri, come l’albero padre per gli elementi di struttura. PdfDictionary e PdfArray sono usati per attraversare gli array Nums (il nome usato dalla specifica PDF per questa costruzione, ISO 32000-1 §7.9.7 — non un simbolo Java) nei nodi dell’albero dei numeri. Questo è il API di livello più basso per lavorare con la struttura logica di un documento PDF con tag.

Vedi anche

 Italiano