Como trabalhar com operadores de fluxo de conteúdo em Java

Como trabalhar com operadores de fluxo de conteúdo em Java

Este guia mostra como analisar e construir fluxos de conteúdo da página em Aspose.PDF FOSS Você vai aprender a ler bytes de página cru, analisá-los com ContentStreamParser, e utilização ContentStreamBuilder para criar novos conteúdos.

Acesse o fluxo de conteúdo

Cada um. Page em um Document O fluxo de conteúdo é o que está sendo feito. contém uma sequência de operadores PDF que definem posicionamento do texto, comandos de desenho e Referências de recursos. Leia os bytes do fluxo de conteúdo bruto de uma página:

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

Parse com o ContentStreamParser

ContentStreamParser Tokeniza e analisa um fluxo de conteúdo em objetos operadores, que possibilitem a inspecção de cada comando de desenho no fluxo:

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
}

Construir com o ContentStreamBuilder

ContentStreamBuilder cria novos fluxos de conteúdo para a incorporação numa rede de dados. Page. Utilização: ContentStreamBuilder quando a construção de conteúdo da página programaticamente em vez Depois de construir o fluxo, atribuí-lo novamente para a página e salvar o documento.

Referência do operador

Os operadores de fluxo de conteúdo PDF são definidos na ISO 32000-1:2008, Tabela A.1.Os operadores comuns incluem:

  • Operadores de texto: BT, ET, Tf, Tj
  • Operadores de estado gráfico: q, Q, cm
  • Operadores de trajectória: m, l, h, f, S

Ver também:

 Português