Jak pracować z operatorami strumienia zawartości w Java

Jak pracować z operatorami strumienia zawartości w Java

Ten przewodnik pokazuje, jak analizować i tworzyć strumienie treści stron w Aspose.PDF FOSS dla Java. Nauczysz się odczytywać surowe bajty strony, analizować je za pomocą ContentStreamParser, oraz używać ContentStreamBuilder do tworzenia nowej treści.

Uzyskaj dostęp do strumienia treści

Każdy Page w Document przechowuje swoją zawartość graficzną w strumieniu treści. Strumień zawiera sekwencję operatorów PDF, które określają pozycjonowanie tekstu, polecenia rysowania oraz odniesienia do zasobów. Odczytaj surowe bajty strumienia treści z strony:

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");
}

Analizuj za pomocą ContentStreamParser

ContentStreamParser tokenizuje i analizuje strumień treści na obiekty operatorów, co umożliwia inspekcję każdego polecenia rysowania w strumieniu:

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
}

Twórz za pomocą ContentStreamBuilder

ContentStreamBuilder tworzy nowe strumienie zawartości przeznaczone do osadzania w Page. Użyj ContentStreamBuilder przy programowym tworzeniu zawartości strony zamiast modyfikowania istniejącego strumienia. Po zbudowaniu strumienia przypisz go z powrotem do strony i zapisz dokument.

Odwołanie operatorów

Operatory strumieni zawartości PDF są zdefiniowane w ISO 32000-1:2008, tabela A.1. Do powszechnych operatorów należą:

  • Operatory tekstu: BT, ET, Tf, Tj
  • Operatory stanu graficznego: q, Q, cm
  • Operatory ścieżek: m, l, h, f, S

Zobacz także

 Polski