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