Как работать с операторами потока контента в Java

Как работать с операторами потока контента в Java

В этом руководстве показано, как анализировать и создавать потоки содержания страниц в Aspose.PDF FOSS. Вы научитесь читать необработанные байты страниц, анализировать их с помощью ContentStreamParser, и использование ContentStreamBuilder создавать новый контент.

Доступ к потоку контента

Each Page в а Document содержит свое графическое содержание в потоке контента. Поток содержит последовательность операторов PDF, определяющих позиционирование текста, команды рисования и Читать общий потоковый текст страницы:

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

Рассмотреть с ContentStreamParser

ContentStreamParser токенизирует и анализирует потоки контента в объекты операторов;, позволяющие проверять каждую команду на рисование в потоке:

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 создает новые потоки контента для встраивания в Page. Использование: ContentStreamBuilder при создании содержимого страницы программистски, а не После создания потока, назначить его обратно к существующей страницу и сохраните документ.

Ссылка оператора

Операторы потока контента PDF определены в ISO 32000-1:2008, таблица A.1.Обычные операторы включают:

  • Текстовые операторы: BT, ET, Tf, Tj
  • Операторы графического состояния: q, Q, cm
  • Операторы маршрута: m, l, h, f, S

See Also

 Русский