Jak pracować z modelem obiektowym Pdf w Java

Jak pracować z modelem obiektowym Pdf w Java

Uzyskaj dostęp do katalogu dokumentu

Katalog PDF jest korzeniem drzewa obiektów dokumentu i jest reprezentowany jako PdfDictionary. Uzyskaj do niego dostęp za pomocą Document.getCatalog(), aby przeglądać lub modyfikować właściwości na poziomie dokumentu:

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

Pracuj z PdfDictionary

PdfDictionary jest podstawowym kontenerem klucz-wartość w tym niskopoziomowym modelu obiektów PDF. Użyj PdfName.of(), aby tworzyć klucze nazw i przechowywać wartości dowolnego typu obiektu 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());

Pracuj z PdfArray

PdfArray jest typem uporządkowanej sekwencji w tym modelu obiektów. Elementy są indeksowane od zera i mogą zawierać dowolną mieszankę typów obiektów Pdf. Pobierz wartości i rzutuj je na odpowiedni typ:

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

Uzyskaj dostęp do słownika Trailer

Słownik traileru PDF zawiera lokalizację tabeli odwołań krzyżowych oraz odwołania do katalogu dokumentu (/Root) i słownika informacji o dokumencie (/Info):

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

Nazwane Drzewo Numerów

Podstawowy model obiektowy specyfikacji PDF (to, co ISO 32000-1 nazywa warstwą COS) ujawnia strukturę drzewa nazw PDF używaną dla drzew liczbowych, takich jak drzewo rodzica dla elementów struktury. PdfDictionary i PdfArray są używane do przeglądania tablic Nums (własna nazwa specyfikacji PDF dla tego konstruktu, ISO 32000-1 §7.9.7 — nie symbol Java) w węzłach drzewa liczbowego. To jest najniższy poziom API do pracy z logiczną strukturą oznaczonego dokumentu PDF.

Zobacz także

 Polski