Operatori sadržaja u strimu

Ovaj vodič pokazuje kako pristupiti i manipulirati PDF sadržaj stream operatora koristeći ContentStreamParser i u članku 1. ContentStreamBuilder u Aspose.PDF FOSS za Java. Naučit ćete čitati sirove stranice sadržaj bajtova i koristiti parser za pregled crteža Zapovijedi.

Svrha sadržaja

Sadržaj PDF stranice kodiran je kao niz operatora u strimu sadržaja. Page omogućuje pristup svojim operatarima sadržaja putem getContents() imovina.

ContentStreamParser

ContentStreamParser U ovom slučaju, u skladu s člankom 21. stavkom 1. točkom (a) i podstavkom 2. točkama 3. i 4. ovog članka., Prenosite sirove bajtova iz page.getContents().toByteArray() na konstruktor parser:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    byte[] contentBytes = page.getContents().toByteArray();
    ContentStreamParser parser = new ContentStreamParser(contentBytes);
    // Iterate over parsed operators
}

ContentStreamBuilder

ContentStreamBuilder stvara nove tokove sadržaja za ugradnju u Page. Upotreba: ContentStreamBuilder kada izgradnja sadržaja stranice programski nego Nakon izgradnje tok, dodijeliti ga natrag na stranicu i sačuvati dokument.

Referencija operatora

Operatori toka sadržaja PDF-a definirani su u ISO 32000-1:2008, tablica A.1. Operatori uključuju tekstne operatore (BT, ET, Tf, Tj), grafički operateri stanja (q, Q, cm), i operatora staza (m, l, h, f, S).

Operatori struje sadržaja slijede PDF specifikaciju (ISO 32000-1:2008, §8). Upotreba: ContentStreamParser da se ponavljaju preko operatora u postojećem toku.

Pristup sirovom sadržaju stranice

Za čitanje sirovih bajta strim sadržaja stranice, poziv page.getContents().toByteArray(). Bajtovi se zatim mogu pregledati, dekodirati ili proslijediti na ContentStreamParser:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    byte[] contentBytes = page.getContents().toByteArray();
    System.out.println("Content stream size: " + contentBytes.length + " bytes");
}

Također pogledajte:

 Hrvatski